1 2 3 4 5<!DOCTYPE html> 6<html lang="en" class="brite-site konv-theme-light"> 7<head> 8 <meta charset="utf-8"> 9 <title>Brite Daily Planner App To do list, calendar & habits in one app</title> 10 <meta http-equiv="X-UA-Compatible" content="IE=Edge"> 11 <meta name="viewport" content="width=device-width, maximum-scale=5.0, initial-scale=1.0"> 12 <meta name="format-detection" content="telephone=no"> 13 14 <link rel="apple-touch-icon" sizes="180x180" href="https://britetodo.com/img/favs/apple-touch-icon.png"> 15 <link rel="icon" type="image/png" sizes="32x32" href="https://britetodo.com/img/favs/favicon-32x32.png"> 16 <link rel="icon" type="image/png" sizes="16x16" href="https://britetodo.com/img/favs/favicon-16x16.png"> 17<!-- <link rel="manifest" href="https://britetodo.com/img/favs/site.webmanifest">--> 18<!-- <meta http-equiv="Content-Security-Policy" content="default-src 'self'; frame-ancestors 'self';">--> 19 20 <link rel="shortcut icon" href="https://britetodo.com/img/favs/favicon.ico"> 21 <meta name="msapplication-TileColor" content="#da532c"> 22 <meta name="msapplication-config" content="https://britetodo.com/img/favs/browserconfig.xml"> 23 <meta name="theme-color" content="#ffffff"> 24 25 <meta name="description" content="Brite is an all-in-one daily planner app combining tasks, calendar, habits, mood diary, and budget â free on iPhone, iPad, Android, Mac, and Web."> 26 <meta name="keywords" content=""> 27 28 <meta name="msapplication-TileColor" content="#da532c"> 29 <meta name="theme-color" content="#ffffff"> 30 <link rel="canonical" href="https://britetodo.com/"> 31 <meta name="twitter:card" content="summary_large_image"> 32 <meta name="twitter:site" content="@britetodo"> 33 <meta name="twitter:title" content="Brite Daily Planner App To do list, calendar & habits in one app"> 34 <meta name="twitter:description" content="Brite is an all-in-one daily planner app combining tasks, calendar, habits, mood diary, and budget â free on iPhone, iPad, Android, Mac, and Web."> 35 <meta name="twitter:image" content="https://britetodo.com/img/OGBrite.png"> 36 <meta property="og:title" content="Brite Daily Planner App To do list, calendar & habits in one app"> 37 <meta property="og:type" content="website"> 38 <meta property="og:url" content="https://britetodo.com/"> 39 <meta property="og:image" content="https://britetodo.com/img/OGBrite.png"> 40 <meta property="og:description" content="Brite is an all-in-one daily planner app combining tasks, calendar, habits, mood diary, and budget â free on iPhone, iPad, Android, Mac, and Web."> 41 <meta property="og:site_name" content="Brite App"> 42 <meta property="fb:admins" content="132951670226590"> 43 44 45 <meta name="p:domain_verify" content="3a8efbc88c672bcbc217455b5f700c59"/> 46 <meta name="google-signin-scope" content="profile email"> 47 <meta name="google-signin-client_id" content="800569388759-ldg5n86des34oc5i6ck2ngaj4nkdnou9.apps.googleusercontent.com"> 48 49 50<!-- <link type="text/css" href="https://britetodo.com/timo.css?v=1.1" rel="stylesheet">--> 51<!-- <link type="text/css" href="/website/test.css" rel="stylesheet">--> 52<!-- <link rel="stylesheet" href="https://britetodo.com/all.css">--> 53<!-- <link rel="stylesheet" href="https://britetodo.com/css/framework7-icons.css">--> 54<!-- <link rel="stylesheet" type="text/css" href="css/app.css">--> 55<!-- <link rel="stylesheet" media="all" href="https://britetodo.com/css/app.css?v=0.285" >--> 56 <style> 57 58 59 .konv-flex-row { 60 display: flex; 61 justify-content: space-between; 62 align-items: center; 63 } 64 65 </style> 66 67 <!-- Poppins self-hosted: @font-face rules inlined at the top of combined CSS --> 68 69 <!-- Preload LCP hero image (iPhone mockup) â WebP with PNG fallback --> 70 <!-- Source Serif 4 + JetBrains Mono Ð´Ð»Ñ v3-ÑекÑий (reviews, etc) --> 71 <link rel="preconnect" href="https://fonts.googleapis.com"> 72 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 73 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500;600;700&family=Source+Serif+4:ital,wght@0,400;0,500;0,600;1,400&display=swap" media="print" onload="this.media='all'"> 74 <noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500;600;700&family=Source+Serif+4:ital,wght@0,400;0,500;0,600;1,400&display=swap"></noscript> 75 <!-- Preload Poppins weights (LCP-critical): regular for body, bold for h1.title --> 76 <link rel="preload" as="font" type="font/woff2" href="https://britetodo.com/fonts/poppins/pxiEyp8kv8JHgFVrJJfecnFHGPc.woff2" crossorigin> 77 <link rel="preload" as="font" type="font/woff2" href="https://britetodo.com/fonts/poppins/pxiByp8kv8JHgFVrLCz7Z1xlFd2JQEk.woff2" crossorigin fetchpriority="high"> 78 <link rel="preload" as="font" type="font/woff2" href="https://britetodo.com/fonts/poppins/pxiByp8kv8JHgFVrLEj6Z1xlFd2JQEk.woff2" crossorigin> 79 <!-- Analytics stubs (pintrk, fbq, gtag, dataLayer) â defined BEFORE any inline usage on all pages --> 80
80<script> 81 (function(){ 82 if(!window.pintrk){window.pintrk=function(){(window.pintrk.queue=window.pintrk.queue||[]).push(Array.prototype.slice.call(arguments))};window.pintrk.version="3.0";window.pintrk.queue=[];} 83 if(!window.fbq){window.fbq=function(){(window.fbq.queue=window.fbq.queue||[]).push(arguments)};window.fbq.queue=[];window.fbq.loaded=true;window.fbq.version="2.0";} 84 if(!window.gtag){window.dataLayer=window.dataLayer||[];window.gtag=function(){window.dataLayer.push(arguments)};} 85 if(!window.ym){window.ym=function(){(window.ym.a=window.ym.a||[]).push(arguments)};window.ym.l=+new Date();} 86 })(); 87 </script>
87 88 <!-- Critical CSS inline (above-the-fold ~62KB from 296KB) --> 89 <style id="critical-css">@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(https://britetodo.com/fonts/poppins/pxiEyp8kv8JHgFVrJJfecnFHGPc.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(https://britetodo.com/fonts/poppins/pxiByp8kv8JHgFVrLEj6Z1xlFd2JQEk.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(https://britetodo.com/fonts/poppins/pxiByp8kv8JHgFVrLCz7Z1xlFd2JQEk.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD} 90.cookie-modal,body{background-color:#fff!important}.konv-button,input{-webkit-appearance:none;-moz-appearance:none}.cookie-modal,textarea{overflow:auto}.owl-carousel,.owl-carousel .owl-item,a,button{-webkit-tap-highlight-color:transparent}.f7-icons,.framework7-icons,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.footer_column .links_container a,.header_button,.konv-button,.konv-flex-row.container,.logo,.mac-link,.sticky-link,a,nav #menu a{text-decoration:none}.cookie-modal{display:none;position:fixed;bottom:0;width:100%;height:100%;border-radius:5px!important;box-shadow:0 0 20px rgba(0,0,0,.05);z-index:99999999999;font-size:16px;color:#111;max-height:200px;max-width:440px;right:0}.cookie-modal-content{background-color:#fff;margin:0 auto;padding:10px;border-radius:8px;width:100%;max-width:100%;text-align:center}.cookie-button{padding:10px 20px;margin:10px;border:none;cursor:pointer;font-size:16px;background-color:#000;color:#fff;border-radius:100px}.cookie-button:hover{background-color:#ddd}.cookie-button.reject{background-color:#888!important;color:#fff}.cookie-button.reject:hover{background-color:#d32f2f}@media (max-width:600px){.cookie-modal{display:block;min-width:100%;min-height:100px;max-height:175px}}.review_container .stars .star,.squaredThree label{width:20px;height:20px}@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMk
90pFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}.hamburger,.owl-carousel.owl-rtl .owl-item,nav{float:right}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@font-face{font-family:Caprasimo;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/caprasimo/v1/esDT31JQOPuXIUGBp72UnJ8DKpE.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-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caprasimo;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/caprasimo/v1/esDT31JQOPuXIUGBp72Ukp8D.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}.container.subscribe_container{width:50%;margin:30px auto}.squaredThree{display:flex;justify-content:flex-start;width:100%;position:relative;padding:0}.squaredThree label{cursor:pointer;position:relative;border:1px solid #5e5e5e;border-radius:4px}.squaredThree label:after{content:'';width:15px;height:7px;position:absolute;top:4px;left:2px;border:3px solid #2f80ed;border-top:none;border-right:none;background:0 0;opacity:0;transform:rotate(-45deg);transition:.3s}.squaredThree input[type=checkbox]{visibility:hidden;display:none}.cases .owl-item.active,.review .owl-item.active,.squaredThree input:checked+label:after{opacity:1}.main-button.animate{animation:.3s ease-in-out pulse}@keyframes pulse{0%,100%{transform:scale(1,1)}30%{transform:scale(1.2,1.2)}75%{transform:scale(.9,.9)}}.features_card_container{flex-wrap:wrap;width:100%;margin:40px auto 0}@media screen and (max-width:800px){.features_card_container{width:90%;margin:20px auto 0}.seo_card{flex-basis:30%!important;margin-bottom:10px;padding:5px 6px!important;min-height:140px!important}.seo_card .card_title{font-size:12px!important}.title-section{margin-top:40px!important}.main-button{margin-top:20px}.available{flex-direction:column}.platforms{flex-direction:row!important}}.seo_card{background:#fff;flex-basis:10%;display:flex;flex-direction:column;align-items:center;border:1px solid transparent;box-shadow:0 8px 20px rgba(0,0,0,.08);cursor:pointer;padding:5px 6px 15px;min-height:150px;border-radius:8px;transition:.3s}.seo_card.checked{transform:scale(1.07);border:1px solid #2f80ed}.seo_card .icon{width:45px;height:45px;background-repeat:no-repeat;background-size:contain;margin-top:10px}.seo_card .card_title{margin-top:10px;text-align:center;line-height:1.1;font-size:16px;font-weight:500}.icon.platform{width:30px;height:30px;background-size:contain;margin-right:10px}.list-container,.subscribe_container .section{margin-top:20px}:root{--website-main-color:#2F80ED;--header-height:50px;--gradient:linear-gradient(19deg, #21D4FD 0%, #5c26ff 100%);--swiper-theme-color:#007aff;--swiper-navigation-size:44px}.cc-nb-changep,.downloads_button,.mobile_button,.mobile_features,.mobile_video{display:none}.circle,.hamburger,.line{position:absolute}.circle,.qr-code_cam,.qr-code_img{background-repeat:no-repeat;background-size:contain}.circle{padding-bottom:70%;filter:blur(20px)}.circle.blue{top:580px;width:175px;z-index:-1}.circle.orange{top:150px;width:140px;right:0;z-index:-1}.hamburger{top:0;right:0;width:100%;height:15px;max-width:20px;padding:0;margin:17.5px 30px 0 0;cursor:pointer;display:block}.header-wrapper,.header-wrapper header,nav{height:var(--header-height)}.line{cursor:pointer;left:0;transition:.5s cubic-bezier(1, 0, .21, .81)}.line:first-child{width:100%;height:1px;background:#000;top:0}.line:nth-child(2),.line:nth-child(3){width:100%;height:1px;background:#000;top:7px}.line:nth-child(4){width:100%;height:1px;background:#000;bottom:0}.header-wrapper{width:100%;z-index:1000;transition:.5s;background:#fff;position:sticky;top:0}.header_container{display:flex;width:100%;align-items:center;justify-content:center}
90@media screen and (min-width:1366px){.header-wrapper{padding:0 13%}}.header-wrapper header{background:#fff;display:flex;flex-direction:row;justify-content:space-between}.header-wrapper,.header-wrapper .menu,.header_container{border-bottom:1px solid #e7e7e7}.menu-main-button{font-weight:500}.disabled{color:#b7b7b7!important;position:relative}#menu.left_side.menu .menu-main-button.active{color:#2f80ed}.menu-main-button:hover{color:var(--website-main-color)!important}.btn_purple{background-color:var(--website-main-color)!important}.feature-image,nav .menu{background:#fff;display:flex}@media screen and (max-width:1000px){.header-wrapper header{display:block}.header-wrapper,.header-wrapper .menu,.header_container{border-bottom:none}}.logo{width:100%;max-width:130px;float:left;height:100%;display:flex;justify-content:center;align-items:center;margin-right:10px}@media screen and (max-width:500px){.logo{margin-left:10px;width:25%}.header_container{justify-content:space-between}}.logo h1,.logo-titile{font-family:Poppins;font-style:normal;font-weight:700;font-size:25px;line-height:37px;color:#000;margin-left:10px}.logo .logo-img{background:url(https://britetodo.com/img/britefavicon.png) center center/contain no-repeat;color:transparent;height:40px;width:40px;min-width: 40px;}.icon.star-icon,.img-page{background-size:contain;background-repeat:no-repeat}.features-sub,nav #menu a{font-size:13px}.feature-image:hover,.header_button:hover{transform:scale(1.05)}.features-grid .img_container,.sub_menu-container .sub_menu-item:hover::after,.swiper.story_slider .single_card{width:100%}nav{width:80%}nav .menu{position:relative;height:0;padding:0;margin:0;overflow:hidden;transition:height .5s cubic-bezier(1,0,.21,.81);z-index:10}.mobile_menu-wrapper{display:none;width:100%;height:0;overflow:hidden;transition:.3s;background-color:#fff;position:absolute;z-index:9;top:var(--header-height)}.mobile_menu-container{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;height:30%;width:90%;margin-top:40px}.mobile_buttons-container{width:100%;margin-top:75px}.mobile_menu-container a{font-weight:500;font-size:18px;line-height:22px;min-height:37px;color:#000}.mobile_menu-wrapper .title{font-weight:700;font-size:35px;line-height:49px;text-align:center;margin-top:10vh}.mobile_menu-wrapper .mobile_login_button{width:80%;display:flex;justify-content:center;align-items:center;font-weight:500;font-size:16px;line-height:19px;padding:10px 0;color:#fff}.mobile_menu-wrapper .buttons_container{display:flex;flex-direction:column;justify-content:center;width:100%;align-items:center;margin-top:76px}.mobile_menu-wrapper .mobile_login_button.google{background-color:#000}.mobile_menu-wrapper .mobile_login_button.apple{margin-top:10px;border:1px solid #000;border-radius:5px;color:#000}.mobile_menu-wrapper .additional_enter{width:80%;font-size:15px;color:#a2a2a2;text-align:center;margin-top:30px}nav #menu a{color:#000;display:block;width:100%;padding-top:15px;padding-bottom:15px;text-align:center;white-space: nowrap;transition:.5s}nav #menu a:hover{opacity:.7}nav .menu.buttons_menu{justify-content:flex-end;display:flex}nav #menu.open{height:320px}ul#menu.left_side{margin-left:20px;min-width:550px}@media screen and (min-width:1024px){.hamburger{display:none}nav{max-width:700px}nav #menu.open,nav .menu{height:auto}nav #menu a{float:left;max-width:90px;height:var(--header-height);padding:0;line-height:var(--header-height)}nav #menu a:first-child{border:none}}.active .line:first-child,.active .line:nth-child(4){background:0 0}.active .line:nth-child(2){transform:rotate(45deg)}.active .line:nth-child(3){transform:rotate(-45deg)}.btn:hover{transform:translateY(-3px) scale(1.05)!important}.hero-wrapper{padding:0 0 30px;width:100%;max-width:1170px;margin:0 auto}.hero-wrapper.page{padding:0 0 30px}.section{display:flex;flex-direction:column;align-items:center;margin-top:50px;width:100%}.icon.star-icon{background-image:url("https://britetodo.com/img/svg/star.svg");width:20px;height:20px}.authreg-bottom-link,input{background-color:rgba(0,0,0,0)!important}.description,.title{font-family:Poppins,sans-serif;color:#000;text-align:center;font-style:normal}.features .title,.section_desc-quiz,.start-section{margin-top:100px}.title{font-weight:700;font-size:30px;line-height:1.2;width:64%;margin:20px auto;cursor:default}.description{font-weight:400;font-size:18px;line-height:28px;max-width:50%;margin-top:15px}@media screen and (max-width:1024px){nav>.buttons_menu{display:none!important}.menu.buttons_menu{margin-right:40px;}.mobile_menu-wrapper{display:flex;flex-direction:column;align-items:center}.mobile_menu-wrapper.open{height:500px;border-top:1px solid #e9e9e9}nav #menu.open{height:100%}.hero-wrapper{padding-top:var(--header-height)}.header-wrapper{position:sticky}.title{font-size:20px;line-height:1.2;text-align:center;width:95%}.description{font-size:18px;line-height:27px;max-width:90%}
90ul#menu.left_side{min-width:200px}.video-section .background_parts,.video-section .img_container{display:none}}.features .description{font-weight:400;font-size:18px;line-height:22px;max-width:70%}.section .login_button{height:45px;margin-top:45px}.header_button{color:#fff!important;background-color:var(--website-main-color);padding:5px 10px;border-radius:20px;margin-right:5px;font-weight:500;cursor:pointer}.header_button.authreg{width:auto}.gradient-color{background:var(--gradient)}.header_button.disabled{background-color:#f2f2f2;color:#000!important;margin-right:10px}.header_button.disabled:hover{background-color:var(--website-main-color)!important;color:#fff!important}.menu.buttons_menu{height:var(--header-height);display:flex;align-items:center}.buttons_menu .buttons_container{display:flex;align-items:center;width:50%}@media screen and (max-width:1150px){.buttons_menu .buttons_container{width:90%}}.buttons_menu .buttons_container a{height:40px!important;line-height:30px!important;max-width:270px!important;display:flex!important;justify-content:center;white-space:nowrap;align-items:center}.video-section{margin-top:120px}.video-section .background_parts{top:auto;width:65%;height:790px;z-index:-1}.btn svg:not(:first-child),.stars{margin-left:16px}.img_temp{width:70%}.downloads_button-container{padding:20px 0;width:90%;background:#fff;box-shadow:0 4px 15px 2px rgba(0,0,0,.1);border-radius:10px;display:flex;flex-direction:column;justify-content:space-around;align-items:center}.downloads_button-container .download_button{width:70%;height:85px;background-repeat:no-repeat;background-position:center;background-size:contain}.background_parts{width:90%;height:460px;position:absolute;top:0}.mobile_features-slide .img_container{flex-direction:column;width:100%}.img_container{display:flex;justify-content:center;width:90%;transition:.3s}.img_container .img_temp{width:100%;object-fit:contain;height:100%}.mobile_features .features_container .title{font-size:20px;line-height:30px;text-align:center;width:90%}.mobile_features .features_container .description{font-size:16px;line-height:19px;text-align:center;width:90%}h2.title{font-size:35px;line-height:44px;width:70%}.apple-section .title,.prh-section .title,.reddit-section .title{font-style:normal;font-weight:600;font-size:35px;line-height:42px;color:#000;display:flex;justify-content:center;align-items:center}@media screen and (max-width:1024px){.circle,.mobile_button,.mobile_video{display:block}.desctop_video,.picture_container,.qr-code-sticky,.section.features,.start-section .start_container,.why-section{display:none}.downloads_button,.mobile_features{display:flex}h2.title{font-size:25px;line-height:34px;width:90%}}.features-img,.list-container .item-list .icon{background-size:contain;background-repeat:no-repeat}.tarif-card-white,input{color:#fff!important}.benefits-section h2.title{width:60%}.benefits_item.scnd .title{text-align:left;width:100%}.benefits_item .img_container{background:#fff;box-shadow:0 4px 14px 3px rgba(0,0,0,.15);border-radius:10px;width:90%;padding:5px 10px;display:flex;justify-content:center;align-items:center}.benefits_item .title{font-size:25px;line-height:37px;color:#333}.list-container .item-list .icon{width:20px;height:20px;margin-top:2px;opacity:.4}.possibilities_swiper .swiper-slide .img_container,.workflow_item{background:#fff;box-shadow:0 -9px 29px 4px rgba(11,46,123,.02),0 10px 31px 11px rgba(83,133,243,.05)}.list-container .item-list .description{font-size:16px;line-height:22px;width:100%;max-width:100%;margin:0 0 0 10px;text-align:left}.list-container .item-list .description b{font-size:18px;font-weight:600}.workflow-section .title{font-size:40px;line-height:60px;text-align:center;width:51%}.workflow-section .description{font-weight:300;font-size:18px;line-height:135%;text-align:center;margin-top:35px;color:#000;min-height:100px}.workflow_item .title{font-weight:700;font-size:35px;line-height:52px;width:100%;text-align:left}.workflow_item .description{width:100%;max-width:100%;text-align:left}.sub_menu-container .sub_menu-item:hover,.workflow_item.customize .title{color:#2f80ed}.workflow_item.productive .title{color:#bb6bd9}.story_section .title,.why-section .title{font-size:45px;line-height:67px;text-align:center;color:#000}.possibilities-section .description{font-size:18px;line-height:135%;text-align:center;color:#000}
90div,span{-webkit-user-select:auto!important;user-select:auto!important}.possibilities_swiper .swiper-slide .img_container{border-radius:12px;display:flex;justify-content:center;padding:20px}.why_item .title{font-size:25px;line-height:30px;width:100%;text-align:left;color:#000;margin-top:30px}.start-section .title{font-size:65px;line-height:79px;text-align:center;color:#000;width:100%}.start-section .description{font-size:25px;line-height:30px;text-align:center;color:#000}.start_item .title{font-size:35px;line-height:52px;color:#000}.start_item .button-container .login_button{padding:2px 5px}@media screen and (max-width:1024px){.benefits-section h2.title{width:90%}.workflow-section .title{font-weight:700;font-size:25px;line-height:37px;text-align:center;width:90%}.workflow-section .description{font-weight:300;font-size:18px;line-height:135%}.workflow_item .title{font-weight:700;font-size:25px;line-height:37px}.workflow_item .description{font-size:16px;line-height:22px;margin-top:15px}.possibilities-section .title,.section.story_section .title{font-size:25px;line-height:30px;text-align:center}.possibilities-section .description{font-size:16px;line-height:19px}.start-section .title{font-weight:800;font-size:35px;line-height:42px;text-align:center}.start-section .description{font-weight:500;font-size:25px;line-height:30px;text-align:center}}.footer_container .title{font-weight:700;font-size:17px;line-height:21px;width:100%;text-align:center;color:#383838}.section.section_title{margin-bottom:180px}.section.section_title::after{content:'';width:100%;height:1px;position:absolute;top:400px}.section_title .title{font-weight:800;text-align:center}@media screen and (max-width:1024px){.section.section_title{margin-bottom:80px}.section.section_title::after{display:none}.section_title .title{font-size:35px;line-height:49px;text-align:center;width:90%}}.single_card .title{color:#000;width:90%;font-weight:500;line-height:120%;border-bottom:1px solid rgba(128,128,128,.11);padding-bottom:5px;margin-bottom:5px;font-size:100%;text-align:left;min-height:30px;display:flex;cursor:pointer;align-items:center}@media screen and (max-width:1024px){.pricing_container,.section.pricing-section{margin-top:15px}}.cases__box,.circle,.fancybox-button--zoom,.review__company,.review__pic,.skiptranslate,.swiper-pagination-bullet:only-child{display:none!important}.tarifs-button-bottom .btn{height:55px!important;width:100%!important}.registration-bg,.sticky-container.close,a.download-img{background-repeat:no-repeat}.btn--tiny .btn__storename,.btn--tiny .btn__text,.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled,.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.price .price_button.pro,.sticky{height:50px}.reg-button-timo,input{font-size:16px!important}button.closemodal.header__burger.js-header-burger.active{position:absolute;width:65px;height:65px;transform:scale(.45);border-radius:20%;background-color:var(--website-main-color)}input{appearance:none!important;-appearance:none}.field__select,input,input[type=email],input[type=tel],input[type=text],textarea{-webkit-appearance:none}@media screen and (min-width:652px){.header_butt .btn{min-width:240px!important;height:55px!important}}@media screen and (max-width:652px){.menu.buttons_menu{display: none !important;}.header_butt .btn{min-width:113px!important;max-width:200px!important;height:40px!important}}.networking_title .title{display:flex;justify-content:center;align-items:center}.networking_title .title .img{width:200px;padding-bottom:11%;background-position:center;background-repeat:no-repeat;background-size:contain;margin-left:40px;margin-right:10px;align-items:center}@media screen and (max-width:768px){.networking_title .title .img{width:100px;padding-bottom:10%;margin-left:10px}.networking_title .title{font-size:28px}}.mobile_buttons-container.download_buttons{width:90%;display:none;flex-direction:column;justify-content:center;align-items:center;margin:5% auto auto;min-width:300px}a.download-img{width:60%;padding-bottom:20%;background-size:contain}.page a.download-img{width:30%;margin-top:20px;padding-bottom:10%}.sticky{position:fixed;bottom:10px;left:10px;width:175px;box-shadow:0 4px 15px 0 rgba(0,0,0,.15);border-radius:11px;background-color:#fff;display:flex;justify-content:space-around;align-items:center;z-index:999}.fb-sticky,.fb-sticky .sticky-container .info{color:#1977f3}.fb-sticky{border:2px solid #1977f3}.tg-sticky,.tg-sticky .sticky-link{color:#30a7db}.reddit-sticky .sticky-link{color:#ff4500}.reddit-sticky .sticky-container .info{font-size:13px}.sticky-link{background-color:#fff;display:flex;justify-content:inherit;align-items:center;width:80%}.sticky-container .logo{background-position:center;background-size:contain;width:30px;height:30px}.sticky-container .info.top{font-size:12px;font-style:normal}.sticky-container .info{font-weight:700;font-size:14px;line-height:17px}.sticky-container.close{background-size:contain;background-position:top center;width:14px;
90height:70%;cursor:pointer}@media screen and (max-width:800px){.container.subscribe_container{width:80%;margin:auto}.update_block .title{line-height:1.1;margin-top:10px!important;font-size:16px!important}}.update_block .title{font-size:16px;text-align:left;width:100%;margin:0}.section_title .title{font-size:48px;width:50%;line-height:50px}.price .section.section_title::after{content:none;width:0}.avail_item .icon,.device_img,.feature_table table td .icon,.label-field .icon{background-size:contain;background-repeat:no-repeat}.feature_table table td.noborder,a img,fieldset,img{border:none}.avail_item .icon,.feature_table table td .icon{width:16px;height:16px;background-position:center}.pricing_item .title{letter-spacing:.01em;font-weight:800;font-size:36px;color:#111827;width:100%;text-align:left;margin-top:20px;line-height:1}.cases__box,.details__item,.header_button,.page .desc,.price_button,.review__stage.stage,.review__title{text-align:center}.h1,.h2,.h3,.h4,.h5,.h6,.label-field .label,h2.title{font-weight:600}.label-field .icon{width:15px;height:15px;opacity:.4;background-image:url(../img/svg/plus.svg);transition:.2s}.label-field .icon.open{background-image:url(../img/svg/minus.svg);transform:scale(1.5)}div#freeprivacypolicy-com---nb{position:fixed;border-radius:5px!important;background-color:#fff!important;box-shadow:0 0 20px rgba(0,0,0,.05)}.header_button{display:block;width:100%;font-size:14px;padding-top:12px;padding-bottom:12px;transition:.5s;height:35px!important;line-height:30px!important;max-width:270px!important;display:flex!important;justify-content:center;white-space:nowrap;align-items:center}@media screen and (max-width:768px){div.mobile_buttons-container.download_buttons{display:flex}.page a.download-img{width:65%;margin-top:20px;padding-bottom:20%}.price .section_title .title{font-size:40px;width:100%}.price .price_button.pro,.price_button.authreg.free{position:absolute;right:10px}}.btn,body{font-size:18px;font-family:Poppins,sans-serif}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;vertical-align:baseline}html{scroll-behavior:smooth;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-box-sizing:border-box;box-sizing:border-box}button,input[type=submit]{cursor:pointer;background:0 0}button::-moz-focus-inner,input[type=submit]::-moz-focus-inner{padding:0;border:0}input{appearance:none}button,input{margin:0;padding:0;border:0}a,a:focus,button,div,h1,h2,h3,h4,h5,h6,input,select,span,textarea{outline:0}*,* :after,* :before{-webkit-box-sizing:inherit;box-sizing:inherit}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{-webkit-transition-duration:50ms;-o-transition-duration:50ms;transition-duration:50ms}[data-aos][data-aos][data-aos-delay="100"],[data-aos][data-aos][data-aos-delay="1000"],[data-aos][data-aos][data-aos-delay="1050"],[data-aos][data-aos][data-aos-delay="1100"],[data-aos][data-aos][data-aos-delay="1150"],[data-aos][data-aos][data-aos-delay="1200"],[data-aos][data-aos][data-aos-delay="1250"],[data-aos][data-aos][data-aos-delay="1300"],[data-aos][data-aos][data-aos-delay="1350"],[data-aos][data-aos][data-aos-delay="1400"],[data-aos][data-aos][data-aos-delay="1450"],[data-aos][data-aos][data-aos-delay="150"],[data-aos][data-aos][data-aos-delay="1500"],[data-aos][data-aos][data-aos-delay="1550"],[data-aos][data-aos][data-aos-delay="1600"],[data-aos][data-aos][data-aos-delay="1650"],[data-aos][data-aos][data-aos-delay="1700"],[data-aos][data-aos][data-aos-delay="1750"],[data-aos][data-aos][data-aos-delay="1800"],[data-aos][data-aos][data-aos-delay="1850"],[data-aos][data-aos][data-aos-delay="1900"],[data-aos][data-aos][data-aos-delay="1950"],[data-aos][data-aos][data-aos-delay="200"],[data-aos][data-aos][data-aos-delay="2000"],[data-aos][data-aos][data-aos-delay="2050"],[data-aos][data-aos][data-aos-delay="2100"],[data-aos][data-aos][data-aos-delay="2150"],[data-aos][data-aos][data-aos-delay="2200"],[data-aos][data-aos][data-aos-delay="2250"],[data-aos][data-aos][data-aos-delay="2300"],[data-aos][data-aos][data-aos-delay="2350"],[data-aos][data-aos][data-aos-delay="2400"],[data-aos][data-aos][data-aos-delay="2450"],[data-aos][data-aos][data-aos-delay="250"],[data-aos][data-aos][data-aos-delay="2500"],[data-aos][data-aos][data-aos-delay="2550"],[data-aos][data-aos][data-aos-delay="2600"],[data-aos][data-aos][data-aos-delay="2650"],[data-aos][data-aos][data-aos-delay="2700"],[data-aos][data-aos][data-aos-delay="2750"],[data-aos][data-aos][data-aos-delay="2800"],[data-aos][data-aos][data-aos-delay="2850"],[data-aos][data-aos][data-aos-delay="2900"],[data-aos][data-aos][data-aos-delay="2950"],[data-aos][data-aos][data-aos-delay="300"],[data-aos][data-aos][data-aos-delay="3000"],[data-aos][data-aos][data-aos-delay="350"],[data-aos][data-aos][data-aos-delay="400"],[data-aos][data-aos][data-aos-delay="450"],[data-aos][data-aos][data-aos-delay="50"],[data-aos][data-aos][data-aos-delay="500"],[data-aos][data-aos][data-aos-delay="550"],[data-aos][data-aos][data-aos-delay="600"],[data-aos][data-aos][data-aos-delay="650"],[data-aos][data-aos][data-aos-delay="700"],[data-aos][data-aos][data-aos-delay="750"],[data-aos][data-aos][data-aos-delay="800"],[data-aos][data-aos][data-aos-delay="850"],[data-aos][data-aos][data-aos-delay="900"],[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="100"] [data-aos],body[data-aos-delay="1000"] [data-aos],body[data-aos-delay="1050"] [data-aos],body[data-aos-delay="1100"] [data-aos],body[data-aos-delay="1150"] [data-aos],body[data-aos-delay="1200"] [data-aos],body[data-aos-delay="1250"] [data-aos],body[data-aos-delay="1300"] [data-aos],body[data-aos-delay="1350"] [data-aos],body[data-aos-delay="1400"] [data-aos],body[data-aos-delay="1450"] [data-aos],body[data-aos-delay="150"] [data-aos],body[data-aos-delay="1500"] [data-aos],body[data-aos-delay="1550"] [data-aos],body[data-aos-delay="1600"] [data-aos],body[data-aos-delay="1650"] [data-aos],body[data-aos-delay="1700"] [data-aos],body[data-aos-delay="1750"] [data-aos],body[data-aos-delay="1800"] [data-aos],body[data-aos-delay="1850"] [data-aos],body[data-aos-delay="1900"] [data-aos],body[data-aos-delay="1950"] [data-aos],body[data-aos-delay="200"] [data-aos],body[data-aos-delay="2000"] [data-aos],body[data-aos-delay="2050"] [data-aos],body[data-aos-delay="2100"] [data-aos],body[data-aos-delay="2150"] [data-aos],body[data-aos-delay="2200"] [data-aos],body[data-aos-delay="2250"] [data-aos],body[data-aos-delay="2300"] [data-aos],body[data-aos-delay="2350"] [data-aos],body[data-aos-delay="2400"] [data-aos],body[data-aos-delay="2450"] [data-aos],body[data-aos-delay="250"] [data-aos],body[data-aos-delay="2500"] [data-aos],body[data-aos-delay="2550"] [data-aos],body[data-aos-delay="2600"] [data-aos],body[data-aos-delay="2650"] [data-aos],body[data-aos-delay="2700"] [data-aos],body[data-aos-delay="2750"] [data-aos],body[data-aos-delay="2800"] [data-aos],body[data-aos-delay="2850"] [data-aos],body[data-aos-delay="2900"] [data-aos],body[data-aos-delay="2950"] [data-aos],body[data-aos-delay="300"] [data-aos],body[data-aos-delay="3000"] [data-aos],body[data-aos-delay="350"] [data-aos],body[data-aos-delay="400"] [data-aos],body[data-aos-delay="450"] [data-aos],body[data-aos-delay="50"] [data-aos],body[data-aos-delay="500"] [data-aos],body[data-aos-delay="550"] [data-aos],body[data-aos-delay="600"] [data-aos],body[data-aos-delay="650"] [data-aos],body[data-aos-delay="700"] [data-aos],body[data-aos-delay="750"] [data-aos],body[data-aos-delay="800"] [data-aos],body[data-aos-delay="850"] [data-aos],body[data-aos-delay="900"] [data-aos],body[data-aos-delay="950"] [data-aos]{-webkit-transition-delay:0;-o-transition-delay:0;transition-delay:0}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{-webkit-transition-delay:50ms;-o-transition-delay:50ms;transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{-webkit-transition-duration:.1s;-o-transition-duration:.1s;transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{-webkit-transition-delay:.1s;-o-transition-delay:.1s;transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{-webkit-transition-delay:.15s;-o-transition-delay:.15s;transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{-webkit-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{-webkit-transition-delay:.2s;-o-transition-delay:.2s;transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{-webkit-transition-duration:.25s;
90-o-transition-duration:.25s;transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{-webkit-transition-delay:.25s;-o-transition-delay:.25s;transition-delay:.25s}[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{-webkit-transition-delay:.3s;-o-transition-delay:.3s;transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{-webkit-transition-delay:.35s;-o-transition-delay:.35s;transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{-webkit-transition-duration:.4s;-o-transition-duration:.4s;transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{-webkit-transition-delay:.4s;-o-transition-delay:.4s;transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{-webkit-transition-duration:.45s;-o-transition-duration:.45s;transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{-webkit-transition-delay:.45s;-o-transition-delay:.45s;transition-delay:.45s}[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{-webkit-transition-duration:.5s;-o-transition-duration:.5s;transition-duration:.5s}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{-webkit-transition-delay:.5s;-o-transition-delay:.5s;transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{-webkit-transition-duration:.55s;-o-transition-duration:.55s;transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{-webkit-transition-delay:.55s;-o-transition-delay:.55s;transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{-webkit-transition-duration:.6s;-o-transition-duration:.6s;transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{-webkit-transition-delay:.6s;-o-transition-delay:.6s;transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{-webkit-transition-duration:.65s;-o-transition-duration:.65s;transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{-webkit-transition-delay:.65s;-o-transition-delay:.65s;transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{-webkit-transition-duration:.7s;-o-transition-duration:.7s;transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{-webkit-transition-delay:.7s;-o-transition-delay:.7s;transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{-webkit-transition-duration:.75s;-o-transition-duration:.75s;transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{-webkit-transition-delay:.75s;-o-transition-delay:.75s;transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{-webkit-transition-duration:.8s;-o-transition-duration:.8s;transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{-webkit-transition-delay:.8s;-o-transition-delay:.8s;transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{-webkit-transition-duration:.85s;-o-transition-duration:.85s;transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{-webkit-transition-delay:.85s;-o-transition-delay:.85s;transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{-webkit-transition-duration:.9s;-o-transition-duration:.9s;transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{-webkit-transition-delay:.9s;-o-transition-delay:.9s;transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{-webkit-transition-duration:.95s;-o-transition-duration:.95s;transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{-webkit-transition-delay:.95s;-o-transition-delay:.95s;transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{-webkit-transition-duration:1s;-o-transition-duration:1s;transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{-webkit-transition-delay:1s;-o-transition-delay:1s;transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{-webkit-transition-duration:1.05s;-o-transition-duration:1.05s;transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{-webkit-transition-delay:1.05s;-o-transition-delay:1.05s;transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{-webkit-transition-duration:1.1s;-o-transition-duration:1.1s;transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{-webkit-transition-delay:1.1s;-o-transition-delay:1.1s;transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{-webkit-transition-duration:1.15s;-o-transition-duration:1.15s;transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{-webkit-transition-delay:1.15s;-o-transition-delay:1.15s;transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{-webkit-transition-duration:1.2s;
90-o-transition-duration:1.2s;transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{-webkit-transition-delay:1.2s;-o-transition-delay:1.2s;transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{-webkit-transition-duration:1.25s;-o-transition-duration:1.25s;transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{-webkit-transition-delay:1.25s;-o-transition-delay:1.25s;transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{-webkit-transition-duration:1.3s;-o-transition-duration:1.3s;transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{-webkit-transition-delay:1.3s;-o-transition-delay:1.3s;transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{-webkit-transition-duration:1.35s;-o-transition-duration:1.35s;transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{-webkit-transition-delay:1.35s;-o-transition-delay:1.35s;transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{-webkit-transition-duration:1.4s;-o-transition-duration:1.4s;transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{-webkit-transition-delay:1.4s;-o-transition-delay:1.4s;transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{-webkit-transition-duration:1.45s;-o-transition-duration:1.45s;transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{-webkit-transition-delay:1.45s;-o-transition-delay:1.45s;transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{-webkit-transition-duration:1.5s;-o-transition-duration:1.5s;transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{-webkit-transition-delay:1.5s;-o-transition-delay:1.5s;transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{-webkit-transition-duration:1.55s;-o-transition-duration:1.55s;transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{-webkit-transition-delay:1.55s;-o-transition-delay:1.55s;transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{-webkit-transition-duration:1.6s;-o-transition-duration:1.6s;transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{-webkit-transition-delay:1.6s;-o-transition-delay:1.6s;transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{-webkit-transition-duration:1.65s;-o-transition-duration:1.65s;transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{-webkit-transition-delay:1.65s;-o-transition-delay:1.65s;transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{-webkit-transition-duration:1.7s;-o-transition-duration:1.7s;transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{-webkit-transition-delay:1.7s;-o-transition-delay:1.7s;transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{-webkit-transition-duration:1.75s;-o-transition-duration:1.75s;transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{-webkit-transition-delay:1.75s;-o-transition-delay:1.75s;transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{-webkit-transition-duration:1.8s;-o-transition-duration:1.8s;transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{-webkit-transition-delay:1.8s;-o-transition-delay:1.8s;transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{-webkit-transition-duration:1.85s;-o-transition-duration:1.85s;transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{-webkit-transition-delay:1.85s;-o-transition-delay:1.85s;transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{-webkit-transition-duration:1.9s;-o-transition-duration:1.9s;transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{-webkit-transition-delay:1.9s;-o-transition-delay:1.9s;transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{-webkit-transition-duration:1.95s;-o-transition-duration:1.95s;transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{-webkit-transition-delay:1.95s;-o-transition-delay:1.95s;transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{-webkit-transition-duration:2s;-o-transition-duration:2s;transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{-webkit-transition-delay:2s;-o-transition-delay:2s;transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{-webkit-transition-duration:2.05s;-o-transition-duration:2.05s;transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{-webkit-transition-delay:2.05s;-o-transition-delay:2.05s;transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{-webkit-transition-duration:2.1s;-o-transition-duration:2.1s;transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{-webkit-transition-delay:2.1s;-o-transition-delay:2.1s;transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{-webkit-transition-duration:2.15s;-o-transition-duration:2.15s;transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{-webkit-transition-delay:2.15s;-o-transition-delay:2.15s;transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{-webkit-transition-duration:2.2s;-o-transition-duration:2.2s;transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{-webkit-transition-delay:2.2s;-o-transition-delay:2.2s;transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{-webkit-transition-duration:2.25s;-o-transition-duration:2.25s;transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{-webkit-transition-delay:2.25s;-o-transition-delay:2.25s;transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{-webkit-transition-duration:2.3s;-o-transition-duration:2.3s;transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{-webkit-transition-delay:2.3s;-o-transition-delay:2.3s;transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{-webkit-transition-duration:2.35s;-o-transition-duration:2.35s;transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{-webkit-transition-delay:2.35s;-o-transition-delay:2.35s;transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{-webkit-transition-duration:2.4s;
90-o-transition-duration:2.4s;transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{-webkit-transition-delay:2.4s;-o-transition-delay:2.4s;transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{-webkit-transition-duration:2.45s;-o-transition-duration:2.45s;transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{-webkit-transition-delay:2.45s;-o-transition-delay:2.45s;transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{-webkit-transition-duration:2.5s;-o-transition-duration:2.5s;transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{-webkit-transition-delay:2.5s;-o-transition-delay:2.5s;transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{-webkit-transition-duration:2.55s;-o-transition-duration:2.55s;transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{-webkit-transition-delay:2.55s;-o-transition-delay:2.55s;transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{-webkit-transition-duration:2.6s;-o-transition-duration:2.6s;transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{-webkit-transition-delay:2.6s;-o-transition-delay:2.6s;transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{-webkit-transition-duration:2.65s;-o-transition-duration:2.65s;transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{-webkit-transition-delay:2.65s;-o-transition-delay:2.65s;transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{-webkit-transition-duration:2.7s;-o-transition-duration:2.7s;transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{-webkit-transition-delay:2.7s;-o-transition-delay:2.7s;transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{-webkit-transition-duration:2.75s;-o-transition-duration:2.75s;transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{-webkit-transition-delay:2.75s;-o-transition-delay:2.75s;transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{-webkit-transition-duration:2.8s;-o-transition-duration:2.8s;transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{-webkit-transition-delay:2.8s;-o-transition-delay:2.8s;transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{-webkit-transition-duration:2.85s;-o-transition-duration:2.85s;transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{-webkit-transition-delay:2.85s;-o-transition-delay:2.85s;transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{-webkit-transition-duration:2.9s;-o-transition-duration:2.9s;transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{-webkit-transition-delay:2.9s;-o-transition-delay:2.9s;transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{-webkit-transition-duration:2.95s;-o-transition-duration:2.95s;transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{-webkit-transition-delay:2.95s;-o-transition-delay:2.95s;transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{-webkit-transition-duration:3s;-o-transition-duration:3s;transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{-webkit-transition-delay:3s;-o-transition-delay:3s;transition-delay:3s}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{-webkit-transition-timing-function:cubic-bezier(0.25,0.25,0.75,0.75);-o-transition-timing-function:cubic-bezier(0.25,0.25,0.75,0.75);transition-timing-function:cubic-bezier(0.25,0.25,0.75,0.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{-webkit-transition-timing-function:ease-in;
90-o-transition-timing-function:ease-in;transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{-webkit-transition-timing-function:ease-in-out;-o-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{-webkit-transition-timing-function:cubic-bezier(0.6,-0.28,0.735,0.045);-o-transition-timing-function:cubic-bezier(0.6,-0.28,0.735,0.045);transition-timing-function:cubic-bezier(0.6,-0.28,0.735,0.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{-webkit-transition-timing-function:cubic-bezier(0.175,0.885,0.32,1.275);-o-transition-timing-function:cubic-bezier(0.175,0.885,0.32,1.275);transition-timing-function:cubic-bezier(0.175,0.885,0.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{-webkit-transition-timing-function:cubic-bezier(0.68,-0.55,0.265,1.55);-o-transition-timing-function:cubic-bezier(0.68,-0.55,0.265,1.55);transition-timing-function:cubic-bezier(0.68,-0.55,0.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{-webkit-transition-timing-function:cubic-bezier(0.47,0,0.745,0.715);-o-transition-timing-function:cubic-bezier(0.47,0,0.745,0.715);transition-timing-function:cubic-bezier(0.47,0,0.745,0.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{-webkit-transition-timing-function:cubic-bezier(0.39,0.575,0.565,1);-o-transition-timing-function:cubic-bezier(0.39,0.575,0.565,1);transition-timing-function:cubic-bezier(0.39,0.575,0.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{-webkit-transition-timing-function:cubic-bezier(0.445,0.05,0.55,0.95);-o-transition-timing-function:cubic-bezier(0.445,0.05,0.55,0.95);transition-timing-function:cubic-bezier(0.445,0.05,0.55,0.95)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],[data-aos][data-aos][data-aos-easing=ease-in-quad],[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-cubic] [data-aos],body[data-aos-easing=ease-in-quad] [data-aos],body[data-aos-easing=ease-in-quart] [data-aos]{-webkit-transition-timing-function:cubic-bezier(0.55,0.085,0.68,0.53);-o-transition-timing-function:cubic-bezier(0.55,0.085,0.68,0.53);transition-timing-function:cubic-bezier(0.55,0.085,0.68,0.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],[data-aos][data-aos][data-aos-easing=ease-out-quad],[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-cubic] [data-aos],body[data-aos-easing=ease-out-quad] [data-aos],body[data-aos-easing=ease-out-quart] [data-aos]{-webkit-transition-timing-function:cubic-bezier(0.25,0.46,0.45,0.94);-o-transition-timing-function:cubic-bezier(0.25,0.46,0.45,0.94);transition-timing-function:cubic-bezier(0.25,0.46,0.45,0.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],[data-aos][data-aos][data-aos-easing=ease-in-out-quad],[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-cubic] [data-aos],body[data-aos-easing=ease-in-out-quad] [data-aos],body[data-aos-easing=ease-in-out-quart] [data-aos]{-webkit-transition-timing-function:cubic-bezier(0.455,0.03,0.515,0.955);-o-transition-timing-function:cubic-bezier(0.455,0.03,0.515,0.955);transition-timing-function:cubic-bezier(0.455,0.03,0.515,0.955)}body.no-scroll,html.no-scroll{overflow:hidden}body{top:0!important;min-width:375px;line-height:1.77778;color:#111029;--gradient:black!important;--website-main-color:black}button,input,select,textarea{font-family:Poppins,sans-serif}.btn{min-width:270px;height:72px;border-radius:30px;font-weight:500;-webkit-transition:.25s;
90-o-transition:.25s;transition:.25s}.btn svg,.btn__text{display:inline-block;vertical-align:middle}.btn svg:not(:last-child){margin-right:16px}.btn svg{font-size:16px}.btn:active{-webkit-transform:translateY(2px);-ms-transform:translateY(2px);transform:translateY(2px)}.btn_purple{background:var(--gradient);color:#fff}a.btn{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media only screen and (max-width:1279px){body{font-size:16px;line-height:1.75}.btn{min-width:200px;height:64px;font-size:16px}.btn svg{font-size:14px}}@media only screen and (max-width:767px){.footer_column .title{text-align:left}}.header__wrapper.visible{visibility:visible;opacity:1}.header__wrapper.visible .header__item span{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.header__wrapper.visible .header__item:first-child span{-webkit-transition-delay:.2s;-o-transition-delay:.2s;transition-delay:.2s}.header__wrapper.visible .header__item:nth-child(2) span{-webkit-transition-delay:.4s;-o-transition-delay:.4s;transition-delay:.4s}.header__wrapper.visible .header__item:nth-child(3) span{-webkit-transition-delay:.6s;-o-transition-delay:.6s;transition-delay:.6s}.header__wrapper.visible .header__item:nth-child(4) span{-webkit-transition-delay:.8s;-o-transition-delay:.8s;transition-delay:.8s}.details__btn .btn{min-width:266px;height:80px}@media only screen and (max-width:1279px){.details__btn .btn{min-width:221px;height:64px}}.details .owl-item.active,body:not(.touch-device) .owl-item:hover .details__item .details__btn,body:not(.touch-device) .owl-item:hover .details__item:before{visibility:visible;opacity:1}body:not(.touch-device) .details__item .details__btn,body:not(.touch-device) .details__item:before{visibility:hidden;opacity:0}body:not(.touch-device) .owl-item:hover .details__preview{-webkit-transform:scale(1.15);-ms-transform:scale(1.15);transform:scale(1.15)}.cases,.cases__center,.cases__item,.cases__link,.cases__preview,.field__wrap,.menu-main-button,.wrapper_dark{position:relative}@media only screen and (max-width:1279px){.details__item .btn{min-width:171px;height:51px}}@media only screen and (max-width:639px){.header__wrapper.visible{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.details__btn .btn{min-width:100%}}.footer__preview .footer__pic,.konv-w-100,.main-container,.product__preview .product__pic{width:100%}.desc__zoom .icon{font-size:16px;fill:#111029}@media only screen and (max-width:767px){.contacts__btn .btn{min-width:100%}}@media screen and (max-width:600px){nav{width:60%}.footer_section .title{font-size:35px!important}}.aff_card .card_title{font-size:20px;font-weight:700;line-height:1}.footer_section .title{margin-top:50px;font-size:50px;color:#0c0055}.header-wrapper,.header-wrapper .menu,.header_container{border-bottom:none!important}.header-wrapper header{position:fixed;width:100%;border-radius:100px;top:30px;box-shadow:0 0 50px rgba(128,128,128,.45);min-height:60px;display:flex;align-items:center;padding:5px;background-color:#f9f9f9;max-width:1170px;left:50%;transform:translate(-50%);transition:550ms cubic-bezier(.28, .84, .42, 1)!important}nav .menu{background-color:rgba(0,0,0,0)!important;display:flex;justify-content:center}.freeprivacypolicy-com---palette-light .cc-nb-changep,.logo .logo-img{border-radius:100px}.whats-new-section{background:-webkit-linear-gradient(to right,#6a82fb,#fc5c7d)!important;background:linear-gradient(to right,#6a82fb,#fc5c7d)!important}.background-gradient-image{position:absolute;z-index:-1;left:0;top:0;height:100vh;width:100vw;background-image:url(https://britestorage.fra1.cdn.digitaloceanspaces.com/assetswebsite/Group%201-2.png);background-size:997px;background-repeat:no-repeat;background-position:0 bottom}.menu-main-button:hover:after{content:'';position:absolute;bottom:0;width:30px!important;background-color:#000;height:4px;left:50%;transform:translate(-50%);animation:.4s cubic-bezier(.39,.575,.565,1) both fade-in;border-radius:100px!important}@media screen and (min-width:800px){.features_card_container{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:16px;max-width:600px;margin:20px 0}.title-section .title{text-align:left}.background-gradient-image{background-position:90% bottom}}@media screen and (min-width:1024px){.features_card_container{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:16px;max-width:600px;margin:20px 0}.title-section .title{text-align:left}.background-gradient-image{background-position:90% bottom}.logo{margin-left:-30px}}@media screen and (max-width:1024px){.pricing_container,.section.pricing-section{margin-top:15px}.mobile_menu-wrapper{width:calc(100% - 25px);border-radius:20px;box-shadow:0 0 20px rgba(0,0,0,.1);max-height:80vh;margin-top:15px}}.btn:hover{-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 10px 10px rgba(0,0,0,.2)}.title-section{padding:2%}.mobile_menu-wrapper .mobile_login_button{min-height:50px;border-radius:100px!important}.banner.ad-ios .item .logo,.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}.konv-flex-row.container{display:flex;justify-content:space-between;color:#000;font-weight:600;font-size:30px}.banner.ad-ios .item .logo-img{width:30px;height:30px}@media screen and (max-width:600px){.konv-flex-row.container{flex-direction:column-reverse}}</style> 91 <!-- Full CSS deferred (loaded async, non-blocking) --> 92 <link rel="preload" href="https://britetodo.com/css/csscombinedbritewebsite.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 93 <noscript><link rel="stylesheet" href="https://britetodo.com/css/csscombinedbritewebsite.min.css"></noscript> 94 <style> 95 96 .konv-w-60{ 97 width: 60%; 98 } 99 100 @media only screen and (max-width: 600px) { 101 102 .konv-mob-f-w{ 103 width: 100% !important; 104 } 105 .konv-mob-flex-col-center { 106 display: flex; 107 justify-content: flex-start; 108 flex-direction: column !important; 109 align-items: center; 110 } 111 .konv-mob-flex-col-start { 112 display: flex; 113 justify-content: flex-start; 114 flex-direction: column !important; 115 align-items: flex-start; 116 } 117 118 .konv-d-o{ 119 display: none !important; 120 } 121 } 122 123 .konv-fade-in { 124 -webkit-animation: fade-in 1.2s cubic-bezier(0.390, 0.575, 0.565, 1.000) both; 125 animation: fade-in 1.2s cubic-bezier(0.390, 0.575, 0.565, 1.000) both; 126 -webkit-animation-fill-mode: initial; 127 animation-fill-mode: initial; 128 } 129 130 @keyframes fade-in { 131 0% { 132 opacity: 0; 133 } 134 100% { 135 opacity: 0.6; 136 } 137 } 138 139 </style> 140 141 <link rel="manifest" href="https://britetodo.com/manifest.json" crossorigin="use-credentials"/> 142 143 <!-- end Pinterest Tag --> 144 <style> 145 146 :root{ 147 --font-color-b: black !important; 148 } 149 .konv-editor-row { 150 min-height: 28px; 151 } 152 153 h3.konv-editor-row{ 154 margin-block-start: 0.83em; 155 margin-block-end: 0.83em; 156 } 157 158 .brite-list-bullet { 159 border-radius: 7px; 160 width: 18px; 161 height: 22px; 162 position: absolute; 163 top: 5px; 164 left: 5px; 165 opacity: 0.6; 166 display: flex; 167 justify-content: center; 168 align-items: center; 169 transition: 0.4s ease-in-out; 170 } 171 172 .konv-editor-row-wrap { 173 position: relative; 174 width: 100%; 175 box-shadow: none; 176 max-height: 10000px; 177 min-height: 0px; 178 } 179 .list-bullet-row .konv-editor-row { 180 margin-left: 35px !important; 181 } 182 183 .konv-editor-row { 184 font-size: 100%; 185 padding-top: 2px !important; 186 padding-bottom: 3px !important; 187 width: 100%; 188 color: var(--font-color-b); 189 min-height: 27px; 190 -webkit-user-select: auto !important; 191 user-select: auto !important; 192 visibility: visible; 193 overflow-y: auto; 194 box-sizing: border-box; 195 } 196 197 .brite-list-bullet:after { 198 content: ''; 199 display: flex; 200 justify-content: center; 201 align-items: center; 202 background-color: var(--font-color-b); 203 width: 5px; 204 height: 5px; 205 border-radius: 100px; 206 } 207 208 /* Initial state of the element */ 209 .hidden { 210 opacity: 0; 211 transform: translateY(20px); 212 transition: opacity 0.6s ease-out, transform 0.6s ease-out; 213 transition-delay: 1s; /* Delay the transition */ 214 } 215 216 /* State of the element when it becomes visible */ 217 .visible { 218 opacity: 1; 219 transform: translateY(0); 220 transition-delay: 0s; /* Remove delay once visible */ 221 } 222 223 @keyframes widget-preview-animation { 224 0% { 225 transform: translate(-5px) perspective(400px) rotateY(-8deg); 226 } 227 25% { 228 transform: translate(-5px) perspective(400px) rotateY(-3deg) rotateX(-8deg); 229 } 230 50% { 231 transform: translate(-5px) perspective(400px) rotateY(8deg); 232 } 233 75% { 234 transform: translate(-5px) perspective(400px) rotateY(3deg) rotateX(8deg); 235 } 236 100% { 237 transform: translate(-5px) perspective(400px) rotateY(-8deg); 238 } 239 } 240 241 242 .ball {
243 244 --delay:0s; 245 --size:0.4; 246 --speed: 20s; 247 248 aspect-ratio:1; 249 width:calc( 150% * var(--size) ); 250 251 background: linear-gradient(259.53deg, #6287ff 6.53%, #f55c9d 95.34%); 252 filter:blur( 10vw ); 253 254 border-radius:50%; 255 256 position:absolute; 257 top:0; 258 left:0; 259 260 animation: loop var(--speed) infinite linear; 261 animation-delay: var(--delay); 262 transform-origin: 50% 50%; 263 264 opacity:0.6; 265 } 266 267 @keyframes loop { 268 0% { transform: translate3D( 0%, 51%, 0 ) rotate(0deg); } 269 5% { transform: translate3D( 8%, 31%, 0 ) rotate(18deg); } 270 10% { transform: translate3D( 22%, 13%, 0 ) rotate(36deg); } 271 15% { transform: translate3D( 40%, 2%, 0 ) rotate(54deg); } 272 20% { transform: translate3D( 46%, 21%, 0 ) rotate(72deg); } 273 25% { transform: translate3D( 50%, 47%, 0 ) rotate(90deg); } 274 30% { transform: translate3D( 53%, 80%, 0 ) rotate(108deg); } 275 35% { transform: translate3D( 59%, 98%, 0 ) rotate(125deg); } 276 40% { transform: translate3D( 84%, 89%, 0 ) rotate(144deg); } 277 45% { transform: translate3D( 92%, 68%, 0 ) rotate(162deg); } 278 50% { transform: translate3D( 99%, 47%, 0 ) rotate(180deg); } 279 55% { transform: translate3D( 97%, 21%, 0 ) rotate(198deg); } 280 60% { transform: translate3D( 80%, 7%, 0 ) rotate(216deg); } 281 65% { transform: translate3D( 68%, 25%, 0 ) rotate(234deg); } 282 70% { transform: translate3D( 59%, 41%, 0 ) rotate(251deg); } 283 75% { transform: translate3D( 50%, 63%, 0 ) rotate(270deg); } 284 80% { transform: translate3D( 38%, 78%, 0 ) rotate(288deg); } 285 85% { transform: translate3D( 21%, 92%, 0 ) rotate(306deg); } 286 90% { transform: translate3D( 3%, 79%, 0 ) rotate(324deg); } 287 100% { transform: translate3D( 0%, 51%, 0 ) rotate(360deg); } 288 289 } 290 291 .glow-container { 292 overflow-x:hidden; 293 overflow-y: hidden; 294 position:fixed; 295 296 width:100%; 297 min-height:100vh; 298 z-index: -1; 299 opacity: 0.2; 300 } 301 302 .language-selector { 303 position: relative; 304 display: flex; 305 align-items: center; 306 margin-left: auto; 307 width: 100%; 308 justify-content: center; 309 } 310 311 @media screen and (max-width: 500px){ 312 .language-selector { 313 314 justify-content: flex-start; 315 } 316 317 .select-options{ 318 left: 40px; 319 } 320 } 321 .custom-select { 322 position: relative; 323 cursor: pointer; 324 width: 40px; 325 height: 30px; 326 display: flex; 327 justify-content: center; 328 } 329 .custom-select, .selected-flag{ 330 display: flex; 331 justify-content: center; 332 align-items: center; 333 } 334 335 .selected-flag img { 336 width: 20px; 337 height: 20px; 338 object-fit: contain; 339 /* border: 1px solid #ccc; */ 340 border-radius: 4px; 341 } 342 343 .select-option span{ 344 font-size: 15px; 345 346 } 347 .select-options { 348 display: none; 349 position: absolute; 350 bottom: 40px; 351 right: 0; 352 background: white; 353 border: 1px solid #ccc; 354 border-radius: 6px; 355 box-shadow: 0 2px 8px rgba(0,0,0,0.1); 356 z-index: 1000; 357 min-width: 160px; 358 } 359 360 .select-options .select-option { 361 display: flex; 362 align-items: center; 363 padding: 6px 10px; 364 cursor: pointer; 365 } 366 367 .select-options .select-option:hover { 368 background: #f0f0f0; 369 } 370 371 .select-options img { 372 width: 15px; 373 height: 15px; 374 margin-right: 10px; 375 object-fit: contain; 376 border-radius: 3px; 377 } 378 379 </style> 380 381
381<script type="application/ld+json"> 382 { 383 "@context": "https://schema.org", 384 "@type": "SoftwareApplication", 385 "name": "Brite â Daily Planner App", 386 "operatingSystem": "iOS, Android", 387 "applicationCategory": "ProductivityApplication", 388 "aggregateRating": { 389 "@type": "AggregateRating", 390 "ratingValue": "4.8", 391 "ratingCount": "25000" 392 }, 393 "offers": { 394 "@type": "Offer", 395 "price": "0", 396 "priceCurrency": "USD" 397 }, 398 "url": "https://britetodo.com", 399 "description": "All-in-one productivity app combining tasks, calendar, habits, notes, and 20+ tools in one place.", 400 "publisher": { 401 "@type": "Organization", 402 "name": "Brite App", 403 "url": "https://britetodo.com" 404 } 405 } 406 </script>
406 407 408 <!-- Mini-jQuery shim (replaces 30KB jQuery 3.7.1) --> 409
409<script> 410 411(function (window, document) { 412 'use strict'; 413 function $$(selector, ctx) { 414 ctx = ctx || document; 415 if (!selector) return []; 416 if (selector === window) return [window]; 417 if (selector === document) return [document]; 418 if (selector.nodeType) return [selector]; 419 if (typeof selector !== 'string') { 420 if (selector.length !== undefined) return Array.prototype.slice.call(selector); 421 return [selector]; 422 } 423 var s = selector.trim(); 424 if (s[0] === '<') { 425 var tpl = document.createElement('template'); 426 tpl.innerHTML = s; 427 return Array.prototype.slice.call(tpl.content.childNodes).filter(function (n) { 428 return n.nodeType === 1; 429 }); 430 } 431 try { 432 return Array.prototype.slice.call(ctx.querySelectorAll(s)); 433 } catch (e) { 434 return []; 435 } 436 } 437 function Q(selector, ctx) { 438 if (!(this instanceof Q)) return new Q(selector, ctx); 439 var nodes = $$(selector, ctx); 440 this.length = nodes.length; 441 for (var i = 0; i < nodes.length; i++) this[i] = nodes[i]; 442 } 443 var fn = Q.prototype; 444 fn.ready = function (cb) { 445 if (document.readyState !== 'loading') cb(Q); 446 else document.addEventListener('DOMContentLoaded', function () { cb(Q); }); 447 return this; 448 }; 449 fn.each = function (cb) { 450 for (var i = 0; i < this.length; i++) { 451 if (cb.call(this[i], i, this[i]) === false) break; 452 } 453 return this; 454 }; 455 fn.toArray = function () { return Array.prototype.slice.call(this); }; 456 fn.get = function (i) { return i == null ? this.toArray() : this[i < 0 ? this.length + i : i]; }; 457 fn.find = function (sel) { 458 var out = []; 459 this.each(function () { out = out.concat($$(sel, this)); }); 460 return Q(out); 461 }; 462 fn.closest = function (sel) { 463 var out = []; 464 this.each(function () { 465 var p = this.closest ? this.closest(sel) : null; 466 if (p && out.indexOf(p) === -1) out.push(p); 467 }); 468 return Q(out); 469 }; 470 fn.parent = function () { 471 var out = []; 472 this.each(function () { 473 if (this.parentNode && out.indexOf(this.parentNode) === -1) out.push(this.parentNode); 474 }); 475 return Q(out); 476 }; 477 fn.children = function (sel) { 478 var out = []; 479 this.each(function () { 480 var kids = Array.prototype.slice.call(this.children); 481 if (sel) kids = kids.filter(function (k) { return k.matches(sel); }); 482 out = out.concat(kids); 483 }); 484 return Q(out); 485 }; 486 fn.eq = function (i) { return Q(this[i < 0 ? this.length + i : i]); }; 487 fn.first = function () { return this.eq(0); }; 488 fn.last = function () { return this.eq(this.length - 1); }; 489 fn.filter = function (sel) { 490 var arr = this.toArray().filter(function (n) { 491 if (typeof sel === 'function') return sel.call(n); 492 if (typeof sel === 'string') return n.matches && n.matches(sel); 493 return n === sel; 494 }); 495 return Q(arr); 496 }; 497 fn.is = function (sel) { 498 if (!this[0]) return false; 499 if (sel === ':checked') return !!this[0].checked; 500 if (sel === ':visible') return this[0].offsetParent !== null; 501 if (sel === ':hidden') return this[0].offsetParent === null; 502 if (typeof sel === 'string') { 503 try { return this[0].matches(sel); } catch (e) { return false; } 504 } 505 if (typeof sel === 'function') return sel.call(this[0]); 506 return false; 507 }; 508 fn.not = function (sel) { 509 return this.filter(function () { 510 try { return !this.matches(sel); } catch (e) { return true; } 511 }); 512 }; 513 fn.has = function (sel) { 514 return this.filter(function () { return this.querySelector(sel) !== null; }); 515 }; 516 fn.index = function () { 517 if (!this[0] || !this[0].parentNode) return -1; 518 return Array.prototype.indexOf.call(this[0].parentNode.children, this[0]); 519 }; 520 fn.addClass = function (cls) { 521 var classes = String(cls).split(/\s+/); 522 this.each(function () { 523 for (var i = 0; i < classes.length; i++) if (classes[i]) this.classList.add(classes[i]); 524 }); 525 return this; 526 }; 527 fn.removeClass = function (cls) { 528 if (cls == null) { 529 this.each(function () { this.className = ''; }); 530 return this; 531 } 532 var classes = String(cls).split(/\s+/); 533 this.each(function () { 534 for (var i = 0; i < classes.length; i++) if (classes[i]) this.classList.remove(classes[i]); 535 }); 536 return this; 537 }; 538 fn.toggleClass = function (cls, state) { 539 var classes = String(cls).split(/\s+/); 540 this.each(function () { 541 var el = this; 542 for (var i = 0; i < classes.length; i++) { 543 if (state === undefined) el.classList.toggle(classes[i]); 544 else el.classList.toggle(classes[i], !!state); 545 } 546 }); 547 return this; 548 }; 549 fn.hasClass = function (cls) { 550 if (!this[0]) return false;
551 return this[0].classList.contains(cls); 552 }; 553 fn.attr = function (name, val) { 554 if (typeof name === 'object') { 555 for (var k in name) this.attr(k, name[k]); 556 return this; 557 } 558 if (val === undefined) { 559 return this[0] ? this[0].getAttribute(name) : undefined; 560 } 561 this.each(function () { 562 if (val === null) this.removeAttribute(name); 563 else this.setAttribute(name, val); 564 }); 565 return this; 566 }; 567 fn.removeAttr = function (name) { 568 this.each(function () { this.removeAttribute(name); }); 569 return this; 570 }; 571 fn.prop = function (name, val) { 572 if (val === undefined) return this[0] ? this[0][name] : undefined; 573 this.each(function () { this[name] = val; }); 574 return this; 575 }; 576 fn.data = function (name, val) { 577 if (typeof name === 'object') { 578 for (var k in name) this.data(k, name[k]); 579 return this; 580 } 581 if (val === undefined) { 582 if (!this[0]) return undefined; 583 var dash = name.replace(/[A-Z]/g, function (m) { return '-' + m.toLowerCase(); }); 584 var raw = this[0].dataset && (this[0].dataset[name] != null ? this[0].dataset[name] : this[0].getAttribute('data-' + dash)); 585 if (raw == null) return undefined; 586 if (raw === 'true') return true; 587 if (raw === 'false') return false; 588 if (raw === 'null') return null; 589 if (!isNaN(Number(raw)) && raw.trim() !== '') return Number(raw); 590 return raw; 591 } 592 this.each(function () { 593 if (this.dataset) this.dataset[name] = val; 594 }); 595 return this; 596 }; 597 fn.val = function (v) { 598 if (v === undefined) { 599 if (!this[0]) return undefined; 600 if (this[0].type === 'checkbox' || this[0].type === 'radio') return this[0].checked; 601 return this[0].value; 602 } 603 this.each(function () { this.value = v; }); 604 return this; 605 }; 606 fn.text = function (t) { 607 if (t === undefined) return this[0] ? this[0].textContent : ''; 608 this.each(function () { this.textContent = t; }); 609 return this; 610 }; 611 fn.html = function (h) { 612 if (h === undefined) return this[0] ? this[0].innerHTML : ''; 613 this.each(function () { this.innerHTML = h; }); 614 return this; 615 }; 616 function toNodes(arg) { 617 if (arg instanceof Q) return arg.toArray(); 618 if (typeof arg === 'string') { 619 var tpl = document.createElement('template'); 620 tpl.innerHTML = arg; 621 return Array.prototype.slice.call(tpl.content.childNodes); 622 } 623 if (arg && arg.nodeType) return [arg]; 624 if (arg && arg.length !== undefined) return Array.prototype.slice.call(arg); 625 return []; 626 } 627 fn.append = function (arg) { 628 var nodes = toNodes(arg); 629 var lastIdx = this.length - 1; 630 this.each(function (i) { 631 for (var j = 0; j < nodes.length; j++) { 632 var n = i === lastIdx ? nodes[j] : nodes[j].cloneNode(true); 633 this.appendChild(n); 634 } 635 }); 636 return this; 637 }; 638 fn.prepend = function (arg) { 639 var nodes = toNodes(arg); 640 var lastIdx = this.length - 1; 641 this.each(function (i) { 642 for (var j = nodes.length - 1; j >= 0; j--) { 643 var n = i === lastIdx ? nodes[j] : nodes[j].cloneNode(true); 644 this.insertBefore(n, this.firstChild); 645 } 646 }); 647 return this; 648 }; 649 fn.after = function (arg) { 650 var nodes = toNodes(arg); 651 var lastIdx = this.length - 1; 652 this.each(function (i) { 653 var ref = this.nextSibling; 654 var parent = this.parentNode; 655 if (!parent) return; 656 for (var j = 0; j < nodes.length; j++) { 657 var n = i === lastIdx ? nodes[j] : nodes[j].cloneNode(true); 658 parent.insertBefore(n, ref); 659 } 660 }); 661 return this; 662 }; 663 fn.before = function (arg) { 664 var nodes = toNodes(arg); 665 var lastIdx = this.length - 1; 666 this.each(function (i) { 667 var parent = this.parentNode; 668 if (!parent) return; 669 for (var j = 0; j < nodes.length; j++) { 670 var n = i === lastIdx ? nodes[j] : nodes[j].cloneNode(true); 671 parent.insertBefore(n, this); 672 } 673 }); 674 return this; 675 }; 676 fn.appendTo = function (target) { 677 Q(target).append(this); 678 return this; 679 }; 680 fn.replaceWith = function (arg) { 681 var nodes = toNodes(arg); 682 this.each(function () { 683 var parent = this.parentNode; 684 if (!parent) return; 685 for (var j = 0; j < nodes.length; j++) parent.insertBefore(nodes[j], this); 686 parent.removeChild(this); 687 }); 688 return this; 689 }; 690 fn.remove = function () { 691 this.each(function () { 692 if (this.parentNode) this.parentNode.removeChild(this); 693 }); 694 return this; 695 }; 696 fn.empty = function () { 697 this.each(function () { while (this.firstChild) this.removeChild(this.firstChild); }); 698 return this; 699 }; 700 fn.clone = function () { 701 var out = []; 702 this.each(function () { out.push(this.cloneNode(true)); }); 703 return Q(out); 704 }; 705 fn.wrap = function (wrapper) { 706 this.each(function () { 707 var w = typeof wrapper === 'string' ? toNodes(wrapper)[0] : wrapper.cloneNode(true); 708 if (!w || !this.parentNode) return; 709 this.parentNode.insertBefore(w, this); 710 w.appendChild(this); 711 }); 712 return this; 713 }; 714 fn.on = function (event, selectorOrCb, cb) { 715 var evs = event.split(/\s+/); 716 if (typeof selectorOrCb === 'function') { 717 cb = selectorOrCb; 718 this.each(function () { 719 var el = this;
720 evs.forEach(function (ev) { 721 var name = ev.split('.')[0]; 722 el.addEventListener(name, cb); 723 }); 724 }); 725 } else { 726 var delegSelector = selectorOrCb; 727 this.each(function () { 728 var el = this; 729 evs.forEach(function (ev) { 730 var name = ev.split('.')[0]; 731 el.addEventListener(name, function (e) { 732 var target = e.target; 733 while (target && target !== el) { 734 if (target.matches && target.matches(delegSelector)) { 735 cb.call(target, e); 736 return; 737 } 738 target = target.parentNode; 739 } 740 }); 741 }); 742 }); 743 } 744 return this; 745 }; 746 fn.off = function (event) { 747 return this; 748 }; 749 fn.click = function (cb) { 750 if (cb === undefined) { 751 this.each(function () { this.click && this.click(); }); 752 return this; 753 } 754 return this.on('click', cb); 755 }; 756 fn.trigger = function (ev) { 757 this.each(function () { 758 var event; 759 try { 760 event = new Event(ev, { bubbles: true }); 761 } catch (e) { 762 event = document.createEvent('Event'); 763 event.initEvent(ev, true, true); 764 } 765 this.dispatchEvent(event); 766 }); 767 return this; 768 }; 769 fn.submit = function (cb) { 770 return cb ? this.on('submit', cb) : this.trigger('submit'); 771 }; 772 fn.focus = function () { 773 if (this[0] && this[0].focus) this[0].focus(); 774 return this; 775 }; 776 fn.blur = function () { 777 if (this[0] && this[0].blur) this[0].blur(); 778 return this; 779 }; 780 fn.show = function () { 781 this.each(function () { 782 if (getComputedStyle(this).display === 'none') this.style.display = ''; 783 }); 784 return this; 785 }; 786 fn.hide = function () { 787 this.each(function () { this.style.display = 'none'; }); 788 return this; 789 }; 790 function fade(el, from, to, duration, done) { 791 el.style.opacity = from; 792 if (from === 0) el.style.display = ''; 793 var t0 = null; 794 function step(ts) { 795 if (!t0) t0 = ts; 796 var p = Math.min((ts - t0) / duration, 1); 797 el.style.opacity = from + (to - from) * p; 798 if (p < 1) requestAnimationFrame(step); 799 else { 800 if (to === 0) el.style.display = 'none'; 801 if (done) done.call(el); 802 } 803 } 804 requestAnimationFrame(step); 805 } 806 fn.fadeIn = function (duration, done) { 807 duration = duration || 400; 808 this.each(function () { fade(this, 0, 1, duration, done); }); 809 return this; 810 }; 811 fn.fadeOut = function (duration, done) { 812 duration = duration || 400; 813 this.each(function () { fade(this, 1, 0, duration, done); }); 814 return this; 815 }; 816 fn.animate = function (props, opts) { 817 var duration = (typeof opts === 'number') ? opts : (opts && opts.duration) || 400; 818 var complete = opts && opts.complete; 819 if (props.scrollTop !== undefined) { 820 var target = parseInt(props.scrollTop, 10); 821 var start = window.pageYOffset || document.documentElement.scrollTop; 822 var dist = target - start; 823 var t0 = null; 824 function step(ts) { 825 if (!t0) t0 = ts; 826 var p = Math.min((ts - t0) / duration, 1); 827 var eased = 1 - Math.pow(1 - p, 3); 828 window.scrollTo(0, start + dist * eased); 829 if (p < 1) requestAnimationFrame(step); 830 else if (complete) complete(); 831 } 832 requestAnimationFrame(step); 833 return this; 834 } 835 this.each(function () { 836 var el = this; 837 var trans = []; 838 for (var k in props) trans.push(k.replace(/[A-Z]/g, '-$&').toLowerCase() + ' ' + duration + 'ms'); 839 el.style.transition = trans.join(', '); 840 for (var k in props) el.style[k] = props[k]; 841 if (complete) setTimeout(complete, duration); 842 }); 843 return this; 844 }; 845 fn.width = function (v) { 846 if (v === undefined) { 847 if (!this[0]) return 0; 848 if (this[0] === window) return window.innerWidth; 849 if (this[0] === document) return document.documentElement.scrollWidth; 850 return this[0].offsetWidth; 851 } 852 this.each(function () { this.style.width = typeof v === 'number' ? v + 'px' : v; }); 853 return this; 854 }; 855 fn.height = function (v) { 856 if (v === undefined) { 857 if (!this[0]) return 0; 858 if (this[0] === window) return window.innerHeight; 859 if (this[0] === document) return document.documentElement.scrollHeight; 860 return this[0].offsetHeight; 861 } 862 this.each(function () { this.style.height = typeof v === 'number' ? v + 'px' : v; }); 863 return this; 864 }; 865 fn.outerWidth = function () { return this[0] ? this[0].offsetWidth : 0; }; 866 fn.outerHeight = function () { return this[0] ? this[0].offsetHeight : 0; }; 867 fn.offset = function () { 868 if (!this[0]) return { top: 0, left: 0 }; 869 var rect = this[0].getBoundingClientRect(); 870 return { 871 top: rect.top + window.pageYOffset, 872 left: rect.left + window.pageXOffset, 873 }; 874 }; 875 fn.position = function () { 876 if (!this[0]) return { top: 0, left: 0 }; 877 return { top: this[0].offsetTop, left: this[0].offsetLeft }; 878 }; 879 fn.scrollTop = function (v) { 880 if (v === undefined) { 881 if (!this[0]) return 0; 882 if (this[0] === window) return window.pageYOffset; 883 if (this[0] === document) return document.documentElement.scrollTop; 884 if (this[0].tagName === 'HTML' || this[0].tagName === 'BODY') return window.pageYOffset; 885 return this[0].scrollTop; 886 } 887 this.each(function () { 888 if (this === window) window.scrollTo(0, v); 889 else if (this.tagName === 'HTML' || this.tagName === 'BODY') window.scrollTo(0, v); 890 else this.scrollTop = v; 891 }); 892 return this; 893 }; 894 fn.css = function (prop, val) { 895 if (typeof prop === 'object') { 896 for (var k in prop) this.css(k, prop[k]); 897 return this; 898 } 899 if (val === undefined) { 900 if (!this[0]) return ''; 901 return getComputedStyle(this[0])[prop]; 902 } 903 this.each(function () { this.style[prop] = val; }); 904 return this; 905 }; 906 function ajax(opts) { 907 opts = opts || {}; 908 var url = typeof opts === 'string' ? opts : opts.url; 909 var method = (opts.type || opts.method || 'GET').toUpperCase(); 910 var dataType = opts.dataType; 911 var data = opts.data; 912 var headers = opts.headers || {}; 913 var async = opts.async !== false; // default true 914 var body; 915 if (data && method !== 'GET') { 916 if (data instanceof FormData) { 917 body = data; 918 } else if (typeof data === 'object') { 919 var params = new URLSearchParams(); 920 for (var k in data) { 921 var v = data[k]; 922 if (v && typeof v === 'object') v = JSON.stringify(v); 923 params.append(k, v); 924 } 925 body = params.toString(); 926 if (!headers['Content-Type']) headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; 927 } else { 928 body = data; 929 } 930 } else if (data && method === 'GET') { 931 var qp = new URLSearchParams(); 932 for (var k in data) qp.append(k, data[k]); 933 url += (url.indexOf('?') >= 0 ? '&' : '?') + qp.toString(); 934 } 935 if (async === false) {
936 try { 937 var xhr = new XMLHttpRequest(); 938 xhr.open(method, url, false); 939 for (var h in headers) xhr.setRequestHeader(h, headers[h]); 940 xhr.send(body || null); 941 var resp = xhr.responseText; 942 if (dataType === 'script') { 943 var s = document.createElement('script'); 944 s.text = resp; 945 document.head.appendChild(s); 946 } 947 if (opts.success) opts.success(resp); 948 return; 949 } catch (e) { 950 if (opts.error) opts.error(e); 951 return; 952 } 953 } 954 return fetch(url, { method: method, body: body, headers: headers, credentials: 'same-origin' }) 955 .then(function (r) { 956 if (dataType === 'json') return r.json().then(function (d) { return { d: d, status: r.status }; }); 957 return r.text().then(function (d) { return { d: d, status: r.status }; }); 958 }) 959 .then(function (res) { 960 if (dataType === 'script') { 961 var s = document.createElement('script'); 962 s.text = res.d; 963 document.head.appendChild(s); 964 } 965 if (opts.success) opts.success(res.d, 'success', { status: res.status }); 966 if (opts.complete) opts.complete({ status: res.status }, 'success'); 967 }) 968 .catch(function (err) { 969 if (opts.error) opts.error({ status: 0 }, 'error', err.message); 970 if (opts.complete) opts.complete({ status: 0 }, 'error'); 971 }); 972 } 973 function $entry(arg) { 974 if (typeof arg === 'function') { 975 if (document.readyState !== 'loading') arg(Q); 976 else document.addEventListener('DOMContentLoaded', function () { arg(Q); }); 977 return Q(); 978 } 979 return Q(arg); 980 } 981 $entry.fn = fn; 982 $entry.ajax = ajax; 983 $entry.get = function (url, success) { return ajax({ url: url, type: 'GET', success: success }); }; 984 $entry.post = function (url, data, success) { return ajax({ url: url, type: 'POST', data: data, success: success }); }; 985 $entry.each = function (obj, cb) { 986 if (Array.isArray(obj) || obj.length !== undefined) { 987 for (var i = 0; i < obj.length; i++) if (cb.call(obj[i], i, obj[i]) === false) break; 988 } else { 989 for (var k in obj) if (cb.call(obj[k], k, obj[k]) === false) break; 990 } 991 return obj; 992 }; 993 $entry.extend = function () { 994 var target = arguments[0] || {}; 995 for (var i = 1; i < arguments.length; i++) { 996 var src = arguments[i]; 997 if (src) for (var k in src) target[k] = src[k]; 998 } 999 return target; 1000 }; 1001 $entry.trim = function (s) { return s == null ? '' : String(s).replace(/^\s+|\s+$/g, ''); }; 1002 $entry.isArray = Array.isArray; 1003 $entry.isFunction = function (f) { return typeof f === 'function'; }; 1004 $entry.isPlainObject = function (o) { return o && typeof o === 'object' && o.constructor === Object; }; 1005 $entry.parseJSON = function (s) { try { return JSON.parse(s); } catch (e) { return null; } }; 1006 $entry.noConflict = function () { return $entry; }; 1007 window.$ = window.jQuery = $entry; 1008})(window, document); 1009 1010 </script>
1010 1011 1012<style data-source="extracted-from-footer">.features_card_container .seo_card.js-card-check{background:#fff !important;border:1px solid rgba(0,0,0,.06) !important;border-radius:16px !important;padding:16px 12px !important;min-height:132px !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;position:relative !important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease !important;cursor:pointer !important;box-shadow:0 1px 2px rgba(0,0,0,.02) !important}.features_card_container .seo_card.js-card-check:hover{transform:translateY(-2px) !important;border-color:rgba(0,0,0,.12) !important;box-shadow:0 6px 20px rgba(0,0,0,.06) !important}.features_card_container .seo_card.js-card-check.checked{border-color:#9D5BD2 !important;background:linear-gradient(180deg,rgba(157,91,210,.04) 0%,#fff 100%) !important}.features_card_container .seo_card .squaredThree{position:absolute !important;top:10px !important;left:10px !important}.features_card_container .seo_card .squaredThree label{width:18px !important;height:18px !important;border-radius:6px !important;border:1.5px solid #d4d4d4 !important;display:block !important;background:#fff !important;position:relative !important}.features_card_container .seo_card.checked .squaredThree label{background:#9D5BD2 !important;border-color:#9D5BD2 !important}.features_card_container .seo_card.checked .squaredThree label::after{content:'' !important;position:absolute !important;left:4px !important;top:1px !important;width:5px !important;height:10px !important;border:solid #fff !important;border-width:0 2px 2px 0 !important;transform:rotate(45deg) !important}.features_card_container .seo_card .icon{width:52px !important;height:52px !important;min-height:52px !important;border-radius:12px !important;display:flex !important;align-items:center !important;justify-content:center !important;margin:8px 0 12px !important;transform:none !important;flex-shrink:0 !important}.features_card_container .seo_card .icon svg{width:26px !important;height:26px !important}.features_card_container .seo_card .card_title{font-family:Poppins,sans-serif !important;font-weight:600 !important;font-size:13px !important;line-height:1.3 !important;text-align:center !important;color:#1f1f23 !important;margin:0 !important;padding:0 4px !important}.features_card_container{grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:10px !important;max-width:600px !important;margin:24px 0 !important;width:100% !important}@media (max-width:700px){.features_card_container{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}@media (max-width:420px){.features_card_container{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}.features_card_container .seo_card.js-card-check{padding:12px 6px !important;min-height:110px !important;width:100% !important;min-width:0 !important;box-sizing:border-box !important}.features_card_container .seo_card .icon{width:44px !important;height:44px !important;min-height:44px !important;margin:4px 0 8px !important}.features_card_container .seo_card .icon svg{width:22px !important;height:22px !important}.features_card_container .seo_card .card_title{font-size:11px !important;line-height:1.2 !important}.title-section .description{text-align:left !important;margin-top:16px !important;margin-left:0 !important;margin-right:auto !important;font-size:18px !important;font-weight:500 !important;color:#1f1f23 !important;max-width:600px !important}.rv3-section{background:linear-gradient(180deg,transparent 0%,#FAF7F2 14%,#FAF7F2 86%,transparent 100%);padding:100px 24px 80px;margin:40px 0 0;position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.rv3-section>*{position:relative;z-index:1}.rv3-section .rv3-eyebrow{font-family:'JetBrains Mono','IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#8B5A2B;background:rgba(139,90,43,.08);padding:4px 10px;border-radius:99px;display:inline-block;margin-bottom:14px}.rv3-title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:42px;font-weight:600;letter-spacing:-0.025em;line-height:1.1;color:#1f1f23;max-width:760px;margin:0 auto 16px;text-align:center}.rv3-title em{font-style:italic;font-weight:500;color:#6E6E78}.rv3-lead{font-size:17px;line-height:1.5;color:#6E6E78;max-width:600px;margin:0 auto 56px;text-align:center}.rv3-row{display:grid;grid-template-columns:420px 1fr;gap:24px;align-items:stretch;margin:0 auto;max-width:1200px}
1012@media (max-width:900px){.rv3-row{grid-template-columns:1fr}}.rv3-stat{background:#1f1f23;color:#fff;border-radius:24px;padding:40px 32px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:380px}.rv3-stat::before{content:'';position:absolute;inset:0;background:radial-gradient(at 90% 0%,rgba(232,163,61,.18),transparent 50%),radial-gradient(at 10% 100%,rgba(178,59,122,.12),transparent 55%);pointer-events:none}.rv3-stat>*{position:relative;z-index:1}.rv3-stat-label{font-family:'JetBrains Mono','IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.6);margin-bottom:12px}.rv3-stat-num{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:96px;line-height:1;font-weight:600;letter-spacing:-0.04em;margin-bottom:14px;background:linear-gradient(135deg,#fff 60%,#E8A33D 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rv3-stat-rating-row{display:flex;align-items:baseline;gap:10px;margin-bottom:28px}.rv3-stat-rating{color:#E8A33D;font-size:18px;letter-spacing:2px}.rv3-stat-rating-num{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;font-size:14px;color:rgba(255,255,255,.85);font-weight:600}.rv3-stat-quote{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-style:italic;font-size:16px;line-height:1.5;color:rgba(255,255,255,.92);margin-bottom:8px}.rv3-stat-quote-attr{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;font-size:10px;color:rgba(255,255,255,.5);letter-spacing:.04em}.rv3-stat-bottom{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;font-size:10px;color:rgba(255,255,255,.45);letter-spacing:.08em;text-transform:uppercase;margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.rv3-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:700px){.rv3-grid{grid-template-columns:1fr}}.rv3-review{background:#fff;border-radius:16px;padding:22px 22px 20px;border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 2px rgba(0,0,0,.02);display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.rv3-review:hover{box-shadow:0 6px 20px rgba(0,0,0,.06);transform:translateY(-2px)}.rv3-stars{color:#E8A33D;font-size:14px;letter-spacing:2px;margin-bottom:12px}.rv3-text{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:14px;line-height:1.55;color:#1f1f23;font-weight:400;margin:0 0 18px;flex:1}.rv3-author{display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px solid rgba(0,0,0,.06)}.rv3-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:-0.02em}.rv3-avatar.av-a{background:linear-gradient(135deg,#9D5BD2,#6E40B0)}.rv3-avatar.av-b{background:linear-gradient(135deg,#E55A8C,#B23B7A)}.rv3-avatar.av-c{background:linear-gradient(135deg,#2E7D5B,#1E5A40)}.rv3-avatar.av-d{background:linear-gradient(135deg,#2D5F87,#1E4060)}.rv3-name{font-size:13px;font-weight:600;color:#1f1f23;letter-spacing:-0.01em}.rv3-meta{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;font-size:10px;color:#8E8E93;letter-spacing:.04em}.rv3-marquee{max-width:1200px;margin:56px auto 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.rv3-marquee-track{display:flex;gap:14px;animation:rv3-scroll 60s linear infinite;width:max-content}.rv3-marquee-card{flex-shrink:0;width:280px;background:#fff;border-radius:14px;padding:18px;border:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column}.rv3-marquee-card .rv3-text{font-size:13px;margin:0 0 14px}.rv3-marquee-card .rv3-author{border:0;padding:0;font-size:12px}@keyframes rv3-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 7px))}}@media (max-width:700px){.rv3-title{font-size:32px}.rv3-section{padding:56px 20px}.rv3-stat{min-height:auto;padding:32px 24px}.rv3-stat-num{font-size:72px}}.bg3-section{padding:80px 24px 60px;max-width:1200px;margin:40px auto 0}.bg3-eyebrow{font-family:'JetBrains Mono','IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#2D5F87;background:rgba(45,95,135,.08);padding:4px 10px;border-radius:99px;display:inline-block;margin:0 auto 14px}.bg3-section{text-align:center}.bg3-title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:38px;font-weight:600;letter-spacing:-0.025em;line-height:1.1;color:#1f1f23;max-width:680px;margin:0 auto 14px}.bg3-lead{font-size:16px;line-height:1.55;color:#6E6E78;max-width:540px;margin:0 auto 48px}.bg3-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left}
1012@media (max-width:900px){.bg3-grid{grid-template-columns:1fr}}.bg3-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s}.bg3-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08)}.bg3-visual{aspect-ratio:16/10;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.bg3-v-1{background:linear-gradient(135deg,#F3E8FD 0%,#E1D6F7 50%,#C8B5EB 100%)}.bg3-v-2{background:linear-gradient(135deg,#FDF1E6 0%,#F6D8B8 50%,#E8B988 100%)}.bg3-v-3{background:linear-gradient(135deg,#E8F4E0 0%,#C9E2B5 50%,#9DC97F 100%)}.bg3-tag{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:5px 11px;border-radius:99px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1f1f23;z-index:2}.bg3-mock{position:absolute;inset:38% 22% 16% 22%;background:rgba(255,255,255,.95);border-radius:8px;padding:12px;box-shadow:0 4px 12px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:6px}.bg3-mock-row{height:6px;background:linear-gradient(90deg,#9D5BD2,#C8B5EB);border-radius:3px;width:70%}.bg3-mock-row-2{width:90%;background:#E5E5EA}.bg3-mock-row-3{width:55%;background:#E5E5EA}.bg3-mock-row-4{width:80%;background:#E5E5EA}.bg3-mock-chart{position:absolute;inset:35% 18% 14% 18%;background:rgba(255,255,255,.95);border-radius:8px;padding:14px 12px 12px;display:flex;align-items:flex-end;gap:5px;box-shadow:0 4px 12px rgba(0,0,0,.08)}.bg3-mock-bar{flex:1;background:linear-gradient(180deg,#E8A33D,#B47A28);border-radius:2px 2px 0 0;opacity:.85}.bg3-mock-tasks{position:absolute;inset:30% 18% 14% 18%;background:rgba(255,255,255,.95);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:5px;box-shadow:0 4px 12px rgba(0,0,0,.08)}.bg3-mock-task{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:500;color:#1f1f23}.bg3-mock-task.done{color:#6E6E78;text-decoration:line-through}.bg3-mock-check{width:12px;height:12px;border-radius:50%;border:1.5px solid #B8B8BC;flex-shrink:0;position:relative}.bg3-mock-task.done .bg3-mock-check{background:#2E7D5B;border-color:#2E7D5B}.bg3-mock-task.done .bg3-mock-check::after{content:'';position:absolute;left:3px;top:1px;width:3px;height:6px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.bg3-body{padding:22px 22px 20px;display:flex;flex-direction:column;flex:1}.bg3-card-title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:19px;font-weight:600;letter-spacing:-0.02em;line-height:1.25;color:#1f1f23;margin:0 0 10px}.bg3-card-text{font-size:13px;line-height:1.55;color:#6E6E78;margin:0 0 14px;flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.bg3-readmore{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1f1f23;display:inline-flex;align-items:center;gap:6px;transition:gap .2s}.bg3-card:hover .bg3-readmore{gap:10px;color:#9D5BD2}.bg3-readmore svg{transition:transform .2s}.bg3-card:hover .bg3-readmore svg{transform:translateX(2px)}.cmp3-section{padding:60px 24px 80px;text-align:center;max-width:900px;margin:0 auto}.cmp3-eyebrow{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#B23B7A;background:rgba(178,59,122,.08);padding:4px 10px;border-radius:99px;display:inline-block;margin:0 auto 14px}.cmp3-title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:38px;font-weight:600;letter-spacing:-0.025em;line-height:1.1;color:#1f1f23;margin:0 auto 12px;max-width:600px}.cmp3-lead{font-size:16px;line-height:1.55;color:#6E6E78;max-width:560px;margin:0 auto 32px}.cmp3-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.cmp3-pill{padding:10px 18px;border:1px solid rgba(0,0,0,.08);border-radius:99px;text-decoration:none;color:#1f1f23;background:#fff;font-size:14px;font-weight:600;letter-spacing:-0.01em;transition:all .2s;
1012display:inline-flex;align-items:center;gap:6px}.cmp3-pill::after{content:'â';color:#6E6E78;transition:transform .2s,color .2s}.cmp3-pill:hover{border-color:#1f1f23;background:#1f1f23;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.cmp3-pill:hover::after{transform:translateX(3px);color:#fff}@media (max-width:700px){.bg3-title,.cmp3-title{font-size:28px}.bg3-section,.cmp3-section{padding:56px 20px}}.rm3-hero{text-align:center;padding:80px 24px 56px;max-width:760px;margin:0 auto}.rm3-eyebrow{font-family:'JetBrains Mono','IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#2E7D5B;background:rgba(46,125,91,.08);padding:4px 11px;border-radius:99px;display:inline-block;margin:0 auto 16px}.rm3-eyebrow-alt{color:#B23B7A;background:rgba(178,59,122,.08)}.rm3-title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:56px;font-weight:600;letter-spacing:-0.03em;line-height:1.05;color:#1f1f23;margin:0 0 16px}.rm3-title em{font-style:italic;font-weight:500;background:linear-gradient(135deg,#9D5BD2,#E55A8C);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rm3-lead{font-size:17px;line-height:1.55;color:#6E6E78;max-width:560px;margin:0 auto 20px}.rm3-meta{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#6E6E78;font-weight:600;margin-top:8px}.rm3-meta-dot{width:7px;height:7px;border-radius:50%;background:#2E7D5B;box-shadow:0 0 8px rgba(46,125,91,.6);animation:rm3-pulse 2s infinite}@keyframes rm3-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}.rm3-board-wrap{max-width:1200px;margin:0 auto 80px;padding:0 24px}.rm3-updates{background:linear-gradient(180deg,transparent 0%,#FAF7F2 10%,#FAF7F2 90%,transparent 100%);padding:80px 24px;position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.rm3-updates>*{position:relative;z-index:1;max-width:1200px;margin-left:auto;margin-right:auto}.rm3-updates-header{text-align:center;margin-bottom:48px}.rm3-updates-title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:42px;font-weight:600;letter-spacing:-0.025em;line-height:1.1;color:#1f1f23;margin:0 0 12px}.rm3-updates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width:900px){.rm3-updates-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.rm3-updates-grid{grid-template-columns:1fr}}.rm3-update-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s;position:relative}.rm3-update-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.06);border-color:rgba(157,91,210,.2)}.rm3-update-thumb{aspect-ratio:16/9;background-size:cover;background-position:center;background-color:#f0ebe3;position:relative}.rm3-update-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.04))}.rm3-update-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}.rm3-update-tag{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9D5BD2;background:rgba(157,91,210,.08);padding:3px 8px;border-radius:99px;display:inline-block;margin-bottom:10px;align-self:flex-start}.rm3-update-title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:17px;font-weight:600;letter-spacing:-0.015em;line-height:1.25;color:#1f1f23;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rm3-update-preview{font-size:13px;line-height:1.5;color:#6E6E78;margin:0 0 14px;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.rm3-update-cta{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1f1f23;display:inline-flex;align-items:center;gap:4px;transition:gap .2s,color .2s}.rm3-update-card:hover .rm3-update-cta{color:#9D5BD2;gap:8px}@media (max-width:700px){.rm3-title{font-size:38px}.rm3-updates-title{font-size:30px}.rm3-hero{padding:56px 20px 40px}.rm3-updates{padding:56px 20px}}@media (max-width:720px){html{overflow-x:hidden !important}body{width:100% !important;max-width:100% !important;overflow-x:clip !important}.ball{max-width:100vw !important;width:100vw !important;height:100vw !important;right:-30vw !important;left:auto !important;top:-10vh !important;pointer-events:none !important}.mobile_video.img_temp{width:220px !important;height:auto !important;max-width:70vw !important;margin:24px auto 0 !important;display:block !important}.video-section .img_container{display:none !important}.login_button.authreg,.main-button.authreg,.btn.btn_purple.authreg{font-size:15px !important;padding:14px 18px !important;max-width:calc(100vw - 48px) !important;width:auto !important;margin-left:auto !important;margin-right:auto !important;
1012white-space:normal !important;line-height:1.25 !important;min-height:auto !important;border-radius:100px !important;box-sizing:border-box !important}.description.available,.description.available.konv-flex-row-left{flex-direction:column !important;align-items:center !important;gap:10px !important;text-align:center !important;margin:16px auto 0 !important;padding:0 16px !important;max-width:100% !important}.description.available .container:not(.platforms){font-family:'JetBrains Mono',ui-monospace,monospace !important;font-size:11px !important;letter-spacing:.12em !important;text-transform:uppercase !important;font-weight:600 !important;color:#6E6E78 !important}.description.available .platforms{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;gap:10px !important;justify-content:center !important;margin-left:0 !important;align-items:center !important}.description.available .platforms .icon.platform{width:46px !important;height:46px !important;background:#fff !important;border:1px solid rgba(0,0,0,.08) !important;border-radius:14px !important;display:flex !important;align-items:center !important;justify-content:center !important;color:#1f1f23 !important;box-shadow:0 1px 2px rgba(0,0,0,.03) !important;transition:transform .2s,box-shadow .2s}.description.available .platforms .icon.platform:hover{transform:translateY(-2px) !important;box-shadow:0 4px 10px rgba(0,0,0,.06) !important}.description.available .platforms .icon.platform svg{width:22px !important;height:22px !important}.features_card_container{padding:0 8px !important;max-width:100% !important}.mobile_features-swiper,.swiper.mobile_features-swiper{overflow:hidden !important;max-width:100% !important}.mobile_features-swiper .swiper-wrapper{max-width:100% !important}.rv3-section,.bg3-section,.cmp3-section,.rm3-updates{padding-left:16px !important;padding-right:16px !important}.swiper-pagination,.mobile_features-swiper-pagination,.possibilities_swiper .swiper-pagination,.reviews_slider .swiper-pagination,.story_slider .swiper-pagination{position:static !important;display:flex !important;justify-content:center !important;align-items:center !important;gap:6px !important;padding:14px 16px 4px !important;margin:0 !important;max-width:100% !important;overflow:hidden !important;flex-wrap:nowrap !important;background:transparent !important}.swiper-pagination-bullet{width:6px !important;height:6px !important;background:rgba(0,0,0,.18) !important;opacity:1 !important;border-radius:99px !important;margin:0 !important;flex-shrink:0 !important;transition:width .25s,background .25s}.swiper-pagination-bullet-active,.swiper-pagination-bullet.active{width:22px !important;background:linear-gradient(135deg,#9D5BD2,#E55A8C) !important}.swiper-pagination .swiper-pagination-bullet:nth-child(n+11),.mobile_features-swiper-pagination .swiper-pagination-bullet:nth-child(n+11){display:none !important}.swiper-control_container,.mobile_features-swiper+.swiper-control_container{display:flex !important;justify-content:center !important;align-items:center !important;padding:0 16px !important;max-width:100% !important;overflow:hidden !important}.title-section .title,.konv-flex-col-left .title{font-size:30px !important;line-height:1.15 !important;text-align:left !important;padding:0 4px !important}}.bg3p-hero{text-align:center;padding:80px 24px 48px;max-width:820px;margin:0 auto}.bg3p-eyebrow{font-family:'JetBrains Mono','IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#2D5F87;background:rgba(45,95,135,.08);padding:4px 11px;border-radius:99px;display:inline-block;margin:0 auto 16px}.bg3p-title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:54px;font-weight:600;letter-spacing:-0.03em;line-height:1.05;color:#1f1f23;margin:0 0 16px}.bg3p-title em{font-style:italic;font-weight:500;background:linear-gradient(135deg,#9D5BD2,#E55A8C);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bg3p-lead{font-size:17px;line-height:1.55;color:#6E6E78;max-width:580px;margin:0 auto 32px}.bg3p-cats{display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:5px;background:rgba(0,0,0,.04);border-radius:99px;max-width:100%}.bg3p-cat{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;padding:8px 16px;border-radius:99px;text-decoration:none;color:#6E6E78;transition:all .2s;white-space:nowrap}.bg3p-cat:hover{color:#1f1f23;background:rgba(255,255,255,.6)}.bg3p-cat.is-active{background:#1f1f23;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}.bg3p-grid-section{max-width:1280px;margin:0 auto;padding:24px 24px 80px}.bg3p-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media (max-width:1024px){.bg3p-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.bg3p-grid{grid-template-columns:1fr;gap:20px}}.bg3p-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}.bg3p-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08);border-color:rgba(157,91,210,.18)}.bg3p-visual{aspect-ratio:16/10;position:relative;overflow:hidden;background:#f0ebe3}.bg3p-thumb{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s ease}.bg3p-card:hover .bg3p-thumb{transform:scale(1.04)}.bg3p-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.18));pointer-events:none}.bg3p-tag{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:5px 11px;border-radius:99px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1f1f23;z-index:2}.bg3p-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}.bg3p-date{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8E8E93;font-weight:600;margin-bottom:8px}.bg3p-card-title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:19px;font-weight:600;letter-spacing:-0.02em;line-height:1.25;color:#1f1f23;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bg3p-card-text{font-size:13px;line-height:1.55;color:#6E6E78;margin:0 0 16px;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bg3p-readmore{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1f1f23;display:inline-flex;align-items:center;gap:6px;transition:gap .2s,color .2s}.bg3p-card:hover .bg3p-readmore{gap:10px;color:#9D5BD2}.bg3p-readmore svg{transition:transform .2s}.bg3p-card:hover .bg3p-readmore svg{transform:translateX(2px)}@media (max-width:700px){.bg3p-title{font-size:36px}.bg3p-hero{padding:56px 20px 32px}.bg3p-grid-section{padding:16px 16px 56px}}.rvp-hero{text-align:center;padding:80px 24px 56px;max-width:880px;margin:0 auto}.rvp-eyebrow{font-family:'JetBrains Mono','IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#B47A28;background:rgba(180,122,40,.1);padding:4px 11px;border-radius:99px;display:inline-block;margin:0 auto 16px}.rvp-title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:56px;font-weight:600;letter-spacing:-0.03em;line-height:1.05;color:#1f1f23;margin:0 0 16px}.rvp-title em{font-style:italic;font-weight:500;background:linear-gradient(135deg,#E8A33D,#B23B7A);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rvp-lead{font-size:17px;line-height:1.55;color:#6E6E78;max-width:640px;margin:0 auto 40px}.rvp-stats{display:inline-flex;align-items:center;gap:28px;padding:20px 32px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:24px;box-shadow:0 4px 16px rgba(0,0,0,.04)}.rvp-stat{text-align:center}.rvp-stat-num{font-family:'Source Serif 4',Georgia,serif;font-size:36px;font-weight:600;letter-spacing:-0.025em;line-height:1;color:#1f1f23;display:inline-flex;align-items:center;gap:4px}.rvp-stat-star{color:#E8A33D;font-size:26px}.rvp-stat-label{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#8E8E93;margin-top:6px}.rvp-stat-divider{width:1px;height:38px;background:rgba(0,0,0,.08)}.rvp-section-head{text-align:center;max-width:720px;margin:0 auto 40px}.rvp-platform-pill{display:inline-flex;align-items:center;gap:7px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1f1f23;background:#fff;border:1px solid rgba(0,0,0,.08);padding:6px 12px;border-radius:99px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.rvp-platform-dot{width:7px;height:7px;border-radius:50%}.rvp-dot-apple{background:linear-gradient(135deg,#007AFF,#5856D6);box-shadow:0 0 6px rgba(0,122,255,.5)}.rvp-dot-yt{background:#FF0000;box-shadow:0 0 6px rgba(255,0,0,.5)}.rvp-section-title{font-family:'Source Serif 4',Georgia,serif;font-size:36px;font-weight:600;letter-spacing:-0.025em;line-height:1.1;color:#1f1f23;margin:0 0 12px}.rvp-section-lead{font-size:16px;line-height:1.55;color:#6E6E78;margin:0}.rvp-reviews-section{background:linear-gradient(180deg,transparent 0%,#FAF7F2 12%,#FAF7F2 88%,transparent 100%);padding:80px 24px;margin:40px 0;position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.rvp-reviews-section>.rvp-section-head,.rvp-reviews-section>.rvp-grid{position:relative;z-index:1}.rvp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:0 auto}@media (max-width:1024px){.rvp-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.rvp-grid{grid-template-columns:1fr;gap:16px}}.rvp-card{background:#fff;border-radius:18px;padding:24px 24px 20px;border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 2px rgba(0,0,0,.02);display:flex;flex-direction:column;
1012transition:box-shadow .25s,transform .25s}.rvp-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.06)}.rvp-stars{color:#E8A33D;font-size:15px;letter-spacing:2px;margin-bottom:14px}.rvp-text{font-family:'Source Serif 4',Georgia,serif;font-size:15px;line-height:1.55;color:#1f1f23;font-weight:400;margin:0 0 20px;flex:1}.rvp-author{display:flex;align-items:center;gap:11px;padding-top:16px;border-top:1px solid rgba(0,0,0,.06)}.rvp-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:-0.02em}.rvp-avatar.av-a{background:linear-gradient(135deg,#9D5BD2,#6E40B0)}.rvp-avatar.av-b{background:linear-gradient(135deg,#E55A8C,#B23B7A)}.rvp-avatar.av-c{background:linear-gradient(135deg,#2E7D5B,#1E5A40)}.rvp-avatar.av-d{background:linear-gradient(135deg,#2D5F87,#1E4060)}.rvp-name{font-size:14px;font-weight:600;color:#1f1f23;letter-spacing:-0.01em}.rvp-meta{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;color:#8E8E93;letter-spacing:.04em;margin-top:2px}.rvp-videos-section{padding:80px 24px 60px;max-width:1280px;margin:0 auto}.rvp-videos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;width:100%}@media (max-width:700px){.rvp-videos-grid{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;gap:12px !important;overflow-x:auto !important;overflow-y:hidden !important;padding:4px 16px 16px !important;margin:0 calc(50% - 50vw) !important;width:100vw !important;max-width:100vw !important;box-sizing:border-box !important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}.rvp-videos-grid::-webkit-scrollbar{display:none}.rvp-video{flex:0 0 78vw !important;max-width:320px !important;min-width:240px !important;scroll-snap-align:start}}.rvp-video{display:block;text-decoration:none;border-radius:14px;overflow:hidden;position:relative;background:#1f1f23;aspect-ratio:16/9;transition:transform .25s,box-shadow .25s}.rvp-video:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.18)}.rvp-video-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-color:#1f1f23;display:block;transition:transform .4s ease}.rvp-video::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.5));opacity:.65;transition:opacity .25s;pointer-events:none}.rvp-video:hover::after{opacity:.9}.rvp-video:hover .rvp-video-thumb{transform:scale(1.04)}.rvp-video-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1}.rvp-video-play svg{color:#fff;background:rgba(0,0,0,.55);padding:16px 16px 16px 19px;border-radius:50%;width:24px !important;height:24px !important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.5);transition:transform .25s,background .25s}.rvp-video:hover .rvp-video-play svg{transform:scale(1.1);background:rgba(255,0,0,.85);border-color:#fff}.rvp-cta-section{padding:60px 24px 100px;max-width:880px;margin:0 auto}.rvp-cta{background:linear-gradient(135deg,#1A1226 0%,#0E0E10 50%,#2A1B4A 100%);color:#fff;border-radius:28px;padding:64px 48px;text-align:center;position:relative;overflow:hidden}.rvp-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(at 80% 0%,rgba(232,163,61,.25),transparent 50%),radial-gradient(at 10% 100%,rgba(178,59,122,.18),transparent 55%);pointer-events:none}.rvp-cta>*{position:relative;z-index:1}.rvp-cta-title{font-family:'Source Serif 4',Georgia,serif;font-size:40px;font-weight:600;letter-spacing:-0.025em;line-height:1.15;margin:0 0 12px;color:#fff}.rvp-cta-lead{font-size:16px;line-height:1.55;color:rgba(255,255,255,.75);margin:0 0 28px}.rvp-cta-btn{padding:16px 28px;background:#fff;color:#1f1f23;border:none;border-radius:99px;font-size:15px;font-weight:700;letter-spacing:-0.01em;cursor:pointer;font-family:inherit;transition:transform .2s,box-shadow .2s}.rvp-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,255,255,.15)}@media (max-width:700px){.rvp-title{font-size:38px}.rvp-hero{padding:56px 20px 32px}.rvp-stats{display:flex !important;flex-direction:column !important;gap:16px !important;padding:28px 24px !important;width:calc(100% - 24px) !important;max-width:420px !important;margin:0 auto !important;box-sizing:border-box !important}.rvp-stat-divider{width:38px;height:1px}.rvp-section-title{font-size:26px}.rvp-reviews-section,.rvp-videos-section{padding:56px 16px}.rvp-cta{padding:44px 28px}.rvp-cta-title{font-size:28px}}.mm-backdrop{position:fixed;inset:0;background:rgba(20,20,28,.28);z-index:998;opacity:0;pointer-events:none;transition:opacity .35s cubic-bezier(.22,1.18,.36,1)}.mm-backdrop.is-visible{opacity:1;pointer-events:auto}@media (max-width:720px){.mobile_menu-wrapper:not(.open):not(.active):not(.mm-closing){display:none !important;opacity:0 !important;pointer-events:none !important;visibility:hidden !important}html body .mobile_menu-wrapper.open,html body .mobile_menu-wrapper.active,html body .mobile_menu-wrapper.mm-closing{background:#FFFFFF !important;padding:6px !important;position:fixed !important;z-index:9999 !important;box-shadow:0 4px 12px -2px rgba(31,31,35,.08),0 24px 50px -10px rgba(31,31,35,.22),0 0 0 1px rgba(0,0,0,.06) !important;border-radius:20px !important;overflow:hidden !important;box-sizing:border-box !important;display:flex !important;flex-direction:column !important;height:auto !important;width:auto !important;left:8px !important;right:8px !important;top:70px !important;bottom:auto !important;transform-origin:top center !important}.mobile_menu-wrapper.open,.mobile_menu-wrapper.active{animation:mmDrop .5s cubic-bezier(.34,1.56,.42,1) both !important}.mobile_menu-wrapper.mm-closing{animation:mmRetreat .22s cubic-bezier(.4,0,.6,1) both !important;pointer-events:none !important}@keyframes mmDrop{0%{opacity:0;transform:translateY(-14px) scale(.92)}60%{opacity:1}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes mmRetreat{0%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-8px) scale(.96)}}.mobile_menu-wrapper.open .mobile_menu-container>a,.mobile_menu-wrapper.active .mobile_menu-container>a{animation:mmItem .42s cubic-bezier(.22,1.18,.36,1) both !important}.mobile_menu-wrapper.open .mobile_menu-container>a:nth-child(1){animation-delay:.12s !important}.mobile_menu-wrapper.open .mobile_menu-container>a:nth-child(2){animation-delay:.18s !important}.mobile_menu-wrapper.open .mobile_menu-container>a:nth-child(3){animation-delay:.24s !important}.mobile_menu-wrapper.open .mobile_menu-container>a:nth-child(4){animation-delay:.30s !important}.mobile_menu-wrapper.open .mobile_menu-container>a:nth-child(5){animation-delay:.36s !important}.mobile_menu-wrapper.open .mobile_menu-container>a:nth-child(6){animation-delay:.44s !important}.mobile_menu-wrapper.open .mobile_menu-container>a:nth-child(7){animation-delay:.50s !important}@keyframes mmItem{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.mobile_menu-wrapper.open,.mobile_menu-wrapper.active,.mobile_menu-wrapper.open .mobile_menu-container>a,.mobile_menu-wrapper.active .mobile_menu-container>a{animation:none !important;opacity:1 !important;transform:none !important}}.mobile_menu-wrapper.open .mobile_menu-container,.mobile_menu-wrapper.active .mobile_menu-container,.mobile_menu-wrapper.mm-closing .mobile_menu-container{display:flex !important;flex-direction:column !important;gap:1px !important;padding:4px !important;margin:0 !important;width:100% !important}.mobile_menu-container>a{display:flex !important;align-items:center !important;padding:12px 16px !important;font-family:'Source Serif 4','Source Serif Pro',Georgia,serif !important;font-size:18px !important;font-weight:500 !important;letter-spacing:-0.015em !important;color:#1f1f23 !important;text-decoration:none !important;border-radius:14px !important;border:none !important;background:transparent !important;box-shadow:none !important;transition:background .18s ease,padding .2s cubic-bezier(.22,1.18,.36,1) !important;position:relative !important;margin:0 !important;overflow:hidden !important}.mobile_menu-container>a::after{content:'' !important;width:7px !important;height:7px !important;border-right:1.5px solid #B8B8BC !important;border-top:1.5px solid #B8B8BC !important;transform:rotate(45deg) translateX(0) !important;margin-left:auto !important;transition:border-color .2s,transform .25s cubic-bezier(.22,1.18,.36,1) !important}.mobile_menu-container>a:active{background:rgba(157,91,210,.08) !important;padding-left:20px !important}.mobile_menu-container>a:active::after{border-color:#9D5BD2 !important;transform:rotate(45deg) translate(3px,-3px) !important}.mobile_menu-container>a[href*="apple-store"]{margin-top:8px !important;position:relative !important}.mobile_menu-container>a[href*="apple-store"]::before{content:'' !important;position:absolute !important;top:-5px !important;left:16px !important;right:16px !important;height:1px !important;background:rgba(0,0,0,.08) !important}.mobile_menu-container>a[href*="apps.apple.com"],.mobile_menu-container>a[href*="play.google.com"]{background-color:#1f1f23 !important;color:#fff !important;font-family:'Poppins',sans-serif !important;font-size:14px !important;font-weight:600 !important;letter-spacing:-0.005em !important;padding:14px 16px 14px 50px !important;margin:4px 4px !important;border-radius:12px !important;background-repeat:no-repeat !important;background-position:16px center !important;background-size:20px 20px !important;width:auto !important;align-self:stretch !important;flex:1 1 auto !important;box-shadow:0 2px 8px rgba(31,31,35,.15) !important;transition:transform .15s,background .15s,box-shadow .15s !important}.mobile_menu-container>a[href*="apps.apple.com"]:active,.mobile_menu-container>a[href*="play.google.com"]:active{background-color:#000 !important;transform:scale(.98) !important;padding-left:50px !important}.mobile_menu-container>a:not([href*="apps.apple.com"]):not([href*="play.google.com"]){padding:12px 16px !important;font-size:18px !important}.mobile_menu-container>a[href*="apps.apple.com"]::after,.mobile_menu-container>a[href*="play.google.com"]::after{border-color:rgba(255,255,255,.5) !important}.mobile_menu-container>a[href*="apps.apple.com"]:active::after,.mobile_menu-container>a[href*="play.google.com"]:active::after{border-color:rgba(255,255,255,.9) !important;transform:rotate(45deg) translate(3px,-3px) !important}.mobile_menu-container>a[href*="apps.apple.com"]{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z'/></svg>") !important}.mobile_menu-container>a[href*="play.google.com"]{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M17.523 15.342l1.79-3.097a.371.371 0 0 0-.137-.504.366.366 0 0 0-.5.137l-1.814 3.138C15.477 14.384 13.922 14.034 12.237 14.034c-1.685 0-3.24.35-4.625.982L5.798 11.878a.366.366 0 0 0-.5-.
1012137.371.371 0 0 0-.137.504l1.79 3.097C3.875 17.012 1.792 20.103 1.5 23.7h19.999c-.292-3.597-2.375-6.688-5.451-8.358zm-9.737 4.928a.913.913 0 0 1-.91-.916.913.913 0 0 1 .91-.916c.503 0 .912.41.912.916a.913.913 0 0 1-.912.916zm8.428 0a.913.913 0 0 1-.91-.916.913.913 0 0 1 .91-.916c.503 0 .912.41.912.916a.913.913 0 0 1-.912.916z'/></svg>") !important}.mobile_menu-wrapper .mobile_buttons-container,.mobile_menu-wrapper .buttons_container.hide-if-mobile{display:none !important}body.menu-open .glow-container,body.body--menu-active .glow-container{display:none !important}}.custom-select .select-options[style*="block"]{animation:langDrop .26s cubic-bezier(.22,1.18,.36,1) both !important;transform-origin:top center !important;box-shadow:0 16px 40px -8px rgba(31,31,35,.18),0 0 0 1px rgba(0,0,0,.05) !important;border-radius:14px !important;overflow:hidden !important}@keyframes langDrop{0%{opacity:0;transform:translateY(-8px) scale(.97)}100%{opacity:1;transform:translateY(0) scale(1)}}.custom-select .select-options [class*="option"],.custom-select .select-options>div,.custom-select .select-options>a,.custom-select .select-options li{transition:background .12s ease !important}.custom-select .select-options [class*="option"]:hover,.custom-select .select-options>div:hover,.custom-select .select-options>a:hover,.custom-select .select-options li:hover{background:rgba(157,91,210,.06) !important}#cookieConsentModal.cookie-modal{display:none;position:fixed !important;bottom:16px !important;right:16px !important;left:auto !important;top:auto !important;width:auto !important;max-width:380px !important;max-height:none !important;height:auto !important;min-height:0 !important;border-radius:16px !important;box-shadow:0 8px 32px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.08) !important;background:#fff !important;z-index:99999 !important;border:1px solid rgba(0,0,0,.06) !important;font-family:inherit !important}#cookieConsentModal .cookie-modal-content{padding:16px 18px !important;text-align:left !important}#cookieConsentModal h2{font-size:15px !important;font-weight:600 !important;margin:0 0 6px !important;color:#1f1f23 !important}#cookieConsentModal p{font-size:12px !important;line-height:1.5 !important;margin:0 0 12px !important;color:#5b5b63 !important}#cookieConsentModal p a{color:#5b5b63 !important;text-decoration:underline !important}#cookieConsentModal .cookie-button{padding:8px 14px !important;margin:0 6px 0 0 !important;font-size:13px !important;font-weight:600 !important;border-radius:8px !important;cursor:pointer !important}#cookieConsentModal .cookie-button#acceptCookies{background:#1f1f23 !important;color:#fff !important;border:none !important}#cookieConsentModal .cookie-button.reject{background:transparent !important;color:#5b5b63 !important;border:1px solid #d1d1d6 !important}#cookieConsentModal.cookie-modal{animation:cookieSlideIn .4s cubic-bezier(.22,1.18,.36,1) both}.cookie-modal.is-dismissing{animation:cookieSlideOut .12s cubic-bezier(.4,0,1,1) forwards !important;pointer-events:none !important}@keyframes cookieSlideOut{to{opacity:0;transform:translateY(12px) scale(.96)}}@keyframes cookieSlideIn{from{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}#cookieConsentModal .cookie-button{transition:transform .15s,box-shadow .15s,background .15s !important}#cookieConsentModal .cookie-button#acceptCookies:hover{background:#000 !important;transform:translateY(-1px) !important;box-shadow:0 4px 12px rgba(0,0,0,.18) !important}#cookieConsentModal .cookie-button.reject:hover{background:#f5f5f5 !important}footer.footer{padding:80px 0 40px !important;border-top:1px solid rgba(0,0,0,.06) !important;background:transparent !important;font-size:14px !important;color:#6E6E78 !important;margin-top:40px !important}footer.footer .footer_wrapper{max-width:1200px !important;margin:0 auto !important;padding:0 24px !important}footer.footer .footer_container{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:32px !important;margin-bottom:48px !important;align-items:start !important;width:100% !important;max-width:100% !important}footer.footer .footer_column{display:flex !important;flex-direction:column !important;min-width:0 !important;width:100% !important;float:none !important}footer.footer .footer_column .title{font-family:'JetBrains Mono',ui-monospace,monospace !important;font-size:11px !important;font-weight:700 !important;letter-spacing:.14em !important;text-transform:uppercase !important;color:#1f1f23 !important;margin-bottom:18px !important;line-height:1 !important}footer.footer .footer_column .links_container{display:flex !important;flex-direction:column !important;gap:12px !important}footer.footer .footer_column .links_container a{display:inline-block !important;font-size:14px !important;font-weight:400 !important;color:#5b5b63 !important;text-decoration:none !important;transition:color .15s,transform .15s !important;width:auto !important;max-width:100% !important;white-space:nowrap !important}footer.footer .footer_column .links_container a:hover{color:#9D5BD2 !important;transform:translateX(2px) !important}footer.footer .copyright{max-width:1200px !important;margin:0 auto !important;padding:24px 24px 0 !important;border-top:1px solid rgba(0,0,0,.06) !important;font-size:13px !important;color:#8E8E93 !important;letter-spacing:-0.005em !important}footer.footer .language-selector{margin-top:16px !important}footer.footer .custom-select{position:relative !important;cursor:pointer !important;display:inline-flex !important;align-items:center !important;padding:6px 10px !important;border-radius:8px !important;background:rgba(0,0,0,.04) !important;border:1px solid rgba(0,0,0,.06) !important;transition:background .15s !important}footer.footer .custom-select:hover{background:rgba(157,91,210,.08) !important}footer.footer .selected-flag img{display:block !important;border-radius:2px !important}
1012@media (max-width:900px){footer.footer .footer_container{grid-template-columns:repeat(2,1fr) !important;gap:36px 24px !important}}@media (max-width:540px){footer.footer{padding:56px 0 28px !important}footer.footer .footer_wrapper{padding:0 20px !important}footer.footer .footer_container{grid-template-columns:1fr 1fr !important;gap:32px 20px !important;margin-bottom:36px !important}footer.footer .footer_column .title{font-size:10px !important;margin-bottom:14px !important}footer.footer .footer_column .links_container{gap:10px !important}footer.footer .footer_column .links_container a{font-size:13px !important}}.notezone{max-width:760px !important;margin:0 auto !important;padding:40px 20px 80px !important}@media (max-width:700px){.notezone{padding:20px 16px 60px !important}}@media (max-width:480px){.notezone{padding:16px 14px 50px !important}}.notezone .art3-meta{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:16px !important;margin-bottom:28px !important;padding-bottom:20px !important;border-bottom:1px solid rgba(0,0,0,.06) !important;flex-wrap:wrap !important}.notezone .art3-author{display:flex !important;align-items:center !important;gap:12px !important}.notezone .art3-avatar{width:40px !important;height:40px !important;border-radius:50% !important;background:linear-gradient(135deg,#9D5BD2,#E55A8C) !important;color:#fff !important;display:flex !important;align-items:center !important;justify-content:center !important;font-family:'Poppins',sans-serif !important;font-size:15px !important;font-weight:700 !important;flex-shrink:0 !important;box-shadow:0 2px 8px rgba(157,91,210,.25) !important}.notezone .art3-author-info{display:flex !important;flex-direction:column !important;gap:2px !important}.notezone .art3-author-name{font-family:'Poppins',sans-serif !important;font-size:14px !important;font-weight:600 !important;color:#1f1f23 !important;letter-spacing:-0.005em !important;line-height:1.2 !important}.notezone .art3-author-role{font-family:'JetBrains Mono',ui-monospace,monospace !important;font-size:10px !important;font-weight:600 !important;color:#8E8E93 !important;letter-spacing:.1em !important;text-transform:uppercase !important;line-height:1 !important}.notezone .art3-date-wrap{display:flex !important;align-items:center !important;gap:8px !important}.notezone .art3-date-dot{width:4px !important;height:4px !important;border-radius:50% !important;background:#9D5BD2 !important;opacity:.5 !important}.notezone .art3-date{font-family:'JetBrains Mono',ui-monospace,monospace !important;font-size:11px !important;font-weight:500 !important;color:#8E8E93 !important;letter-spacing:.05em !important;text-transform:uppercase !important}.notezone img.KSF_8D{display:block !important;width:100% !important;max-width:100% !important;height:auto !important;border-radius:18px !important;margin-bottom:28px !important}.notezone h1.notesinterfacetitle{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif !important;font-weight:500 !important;font-size:clamp(28px,5vw,48px) !important;line-height:1.15 !important;letter-spacing:-0.025em !important;color:#1f1f23 !important;margin:0 0 28px !important}.notezone .head h1{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif !important;font-weight:500 !important;font-size:clamp(28px,5vw,48px) !important;line-height:1.15 !important;letter-spacing:-0.025em !important}.notezone .blocs>h1:first-child,.notezone .blocs>div:first-child>h1:first-child{display:none !important}.notezone .blocs .konv-editor-row-wrap:has(>p:empty),.notezone .blocs .konv-editor-row-wrap:has(>p.konv-editor-row:empty){display:none !important}.notezone .blocs p:empty,.notezone .blocs p.konv-editor-row:empty{display:none !important}.notezone .blocs .konv-editor-row-wrap{margin:0 !important}.notezone .blocs .konv-editor-row-wrap+.konv-editor-row-wrap{margin-top:14px !important}.notezone .blocs{font-family:'Poppins',sans-serif !important;font-size:16px !important;line-height:1.7 !important;color:#3b3b40 !important}.notezone .blocs h2{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif !important;font-weight:500 !important;
1012font-size:clamp(22px,3.5vw,30px) !important;line-height:1.2 !important;letter-spacing:-0.02em !important;color:#1f1f23 !important;margin:40px 0 16px !important}.notezone .blocs h3{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif !important;font-weight:500 !important;font-size:clamp(18px,3vw,22px) !important;line-height:1.3 !important;color:#1f1f23 !important;margin:28px 0 12px !important}.notezone .blocs p{margin:0 0 18px !important;line-height:1.7 !important}.notezone .blocs ul,.notezone .blocs ol{padding-left:22px !important;margin:0 0 22px !important}.notezone .blocs li{margin-bottom:8px !important;line-height:1.6 !important}.notezone .blocs a{color:#9D5BD2 !important;text-decoration:underline !important;text-decoration-color:rgba(157,91,210,.3) !important;text-underline-offset:3px !important}.notezone .blocs a:hover{text-decoration-color:#9D5BD2 !important}.notezone .blocs img{max-width:100% !important;height:auto !important;border-radius:12px !important;margin:20px 0 !important}@media (max-width:700px){.notezone .art3-meta{margin-bottom:20px !important;padding-bottom:16px !important}.notezone h1.notesinterfacetitle{font-size:26px !important;line-height:1.2 !important;margin-bottom:20px !important}.notezone .blocs{font-size:15px !important}.notezone img.KSF_8D{border-radius:12px !important;margin-bottom:20px !important}}.glow-container{top:0 !important}.btn.btn_purple,.btn.btn_purple.login_button,.btn.btn_purple.authreg,.btn.btn_purple.login_button.authreg,.main-button.btn_purple,button.btn.btn_purple{background:linear-gradient(135deg,#8E5BFF 0%,#FF7EB6 100%) !important;background-color:transparent !important;color:#fff !important;border:none !important;border-radius:999px !important;padding:14px 28px !important;font-family:'Poppins',sans-serif !important;font-weight:600 !important;font-size:15px !important;letter-spacing:-0.005em !important;cursor:pointer !important;box-shadow:0 4px 16px rgba(142,91,255,.3) !important;transition:transform .15s,box-shadow .15s !important;white-space:nowrap !important}.btn.btn_purple:hover{transform:translateY(-1px) !important;box-shadow:0 8px 24px rgba(142,91,255,.45) !important}.brh-wrap{position:sticky;top:0;z-index:100;padding:16px 24px 0;background:#FAFAF7;transition:padding-top 200ms ease-out,background 200ms ease-out}.brh-wrap.scrolled{padding-top:12px;background:transparent}.brh-nav{margin:0 auto !important;max-width:1400px;width:100%;display:flex !important;align-items:center;justify-content:space-between;padding:14px 24px;position:relative;isolation:isolate;float:none !important;will-change:max-width,padding;transition:max-width 280ms cubic-bezier(.4,0,.2,1),padding 280ms cubic-bezier(.4,0,.2,1);border-radius:999px;gap:24px;box-sizing:border-box}.brh-nav::after{content:'';position:absolute;inset:0;border-radius:999px;background:rgba(255,255,255,.65);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(255,255,255,.18),0 0 0 1px rgba(255,255,255,.35),0 1px 2px rgba(14,14,16,.06);opacity:0;transition:opacity 280ms ease-out;pointer-events:none;z-index:-1}.brh-nav::before{content:'';position:absolute;inset:0;border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 45%);opacity:0;transition:opacity 280ms ease-out;pointer-events:none;z-index:-1}.brh-nav.scrolled{max-width:1133px;padding:10px 12px 10px 20px}.brh-nav.scrolled::after{opacity:1}.brh-nav.scrolled::before{opacity:.9}.brh-nav>*{position:relative;z-index:1}.brh-brand{display:flex;align-items:center;gap:8px;font-family:'Poppins','Inter Tight',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:700;font-size:17px;letter-spacing:-0.02em;text-decoration:none;color:#0E0E10;flex-shrink:0}.brh-mark{width:28px;height:28px;background:url(https://britetodo.com/img/britefavicon.png) center center/cover no-repeat;border-radius:8px;flex-shrink:0;transition:transform 200ms ease-out}.brh-brand-text{color:#0E0E10}.brh-nav.scrolled .brh-mark{transform:scale(.9)}.brh-links{display:flex;gap:2px;align-items:center}.brh-link{padding:6px 12px;font-family:'Poppins','Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:500;font-size:14px;color:#56565C;border-radius:999px;text-decoration:none;transition:all 150ms cubic-bezier(.16,1,.3,1);white-space:nowrap;position:relative}.brh-link::after{content:'';position:absolute;
1012left:50%;bottom:1px;transform:translateX(-50%);width:0;height:2px;background:linear-gradient(90deg,#8E5BFF,#FF7EB6);border-radius:2px;transition:width 280ms cubic-bezier(.34,1.56,.64,1)}.brh-link:hover{color:#0E0E10;background:rgba(14,14,16,0.05)}.brh-link:hover::after{width:55%}.brh-link.is-active{color:#0E0E10}.brh-link.is-active::after{width:calc(100% - 28px)}.brh-cta-wrap{display:inline-flex;align-items:center;flex-shrink:0;cursor:pointer}.brh-cta{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins','Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:600;font-size:12px;padding:6px 14px;border-radius:999px;border:1px solid transparent;background:linear-gradient(135deg,#8E5BFF 0%,#FF7EB6 100%);color:#fff;box-shadow:0 0 0 1px rgba(142,91,255,.25),0 12px 32px rgba(142,91,255,.20);transition:all 150ms cubic-bezier(.16,1,.3,1);white-space:nowrap}.brh-cta-wrap:hover .brh-cta{transform:translateY(-1px)}.brh-nav #hamburger.hamburger{display:none}@media (max-width:900px){.brh-links{display:none}.brh-cta-wrap{display:none}.brh-nav #hamburger.hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:32px;height:32px;position:relative;float:none;top:auto;right:auto;margin:0;padding:0;border-radius:10px;background:transparent;cursor:pointer;transition:background 150ms;flex-shrink:0}.brh-nav #hamburger.hamburger:active{background:rgba(0,0,0,.08)}.brh-nav #hamburger.hamburger .line{background:#0E0E10;height:2px;width:18px;border-radius:2px;margin:0;position:static;display:block;transition:transform 200ms ease-out,opacity 200ms ease-out}.brh-nav #hamburger.hamburger .line:nth-child(4){display:none}.brh-nav #hamburger.hamburger.active{justify-content:center;position:relative}.brh-nav #hamburger.hamburger.active .line{position:absolute;top:50%;left:50%;margin:0}.brh-nav #hamburger.hamburger.active .line:nth-child(1){opacity:0}.brh-nav #hamburger.hamburger.active .line:nth-child(2){transform:translate(-50%,-50%) rotate(45deg)}.brh-nav #hamburger.hamburger.active .line:nth-child(3){transform:translate(-50%,-50%) rotate(-45deg)}}@media (max-width:720px){.brh-wrap{padding:12px 12px 0}.brh-nav{padding:8px 14px 8px 16px;max-width:100%;gap:8px}.brh-nav::after{opacity:1}.brh-nav::before{opacity:.9}.brh-brand-text{font-size:16px}.brh-mark{width:26px;height:26px}}.hero-wrapper.price .section_title{text-align:center !important;padding:60px 20px 28px !important;max-width:720px !important;margin:0 auto !important}.hero-wrapper.price h1.title{text-align:center !important;font-family:'Source Serif 4','Source Serif Pro',Georgia,serif !important;font-weight:500 !important;letter-spacing:-0.025em !important;font-size:clamp(34px,6vw,56px) !important;line-height:1.05 !important;margin:0 auto 18px !important;max-width:14ch !important;color:#1f1f23 !important}.hero-wrapper.price h2.title_desc{text-align:center !important;text-transform:none !important;letter-spacing:-0.01em !important;font-family:inherit !important;font-size:16px !important;line-height:1.55 !important;color:#5b5b63 !important;font-weight:400 !important;max-width:460px !important;margin:0 auto !important}@media (max-width:700px){.hero-wrapper.price .section_title{padding:40px 20px 24px !important}.hero-wrapper.price h2.title_desc{font-size:15px !important;padding:0 8px !important}}.hero-wrapper.price .pricing-section{max-width:1000px !important;margin:40px auto !important;padding:0 24px !important}.hero-wrapper.price .pricing_container{display:grid !important;grid-template-columns:1fr 1fr !important;gap:20px !important;align-items:stretch !important}.hero-wrapper.price .pricing_item{background:#fff !important;border:1px solid rgba(0,0,0,.06) !important;border-radius:24px !important;padding:36px 32px !important;box-shadow:0 1px 2px rgba(0,0,0,.02) !important;display:flex !important;flex-direction:column !important;position:relative !important;width:auto !important;max-width:none !important;margin:0 !important;transition:transform .2s,box-shadow .2s !important}.hero-wrapper.price .pricing_item:hover{transform:translateY(-2px) !important;box-shadow:0 12px 32px rgba(0,0,0,.06) !important}.hero-wrapper.price .pricing_item.pro{border-color:transparent !important;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#9D5BD2,#E55A8C) border-box !important;border:2px solid transparent !important;box-shadow:0 8px 24px rgba(157,91,210,.10) !important}.hero-wrapper.price .pricing_item .sub_title-container{margin-bottom:24px !important}.hero-wrapper.price .pricing_item .sub_title{font-family:'Poppins',sans-serif !important;font-size:18px !important;font-weight:700 !important;color:#1f1f23 !important;margin-bottom:6px !important;display:flex !important;align-items:center !important;gap:8px !important}.hero-wrapper.price .pricing_item .premium_box{display:inline-flex !important;align-items:center !important;padding:3px 10px !important;border-radius:99px !important;background:linear-gradient(135deg,#9D5BD2,#E55A8C) !important;color:#fff !important;font-family:'JetBrains Mono',ui-monospace,monospace !important;font-size:10px !important;font-weight:700 !important;letter-spacing:.1em !important;text-transform:uppercase !important}.hero-wrapper.price .pricing_item .sub_desc{font-size:14px !important;color:#6E6E78 !important;line-height:1.5 !important}.hero-wrapper.price .pricing_item .title_container{margin-bottom:28px !important;padding-bottom:24px !important;border-bottom:1px solid rgba(0,0,0,.06) !important}.hero-wrapper.price .pricing_item .title_container .title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif !important;font-size:44px !important;font-weight:500 !important;letter-spacing:-0.025em !important;color:#1f1f23 !important;line-height:1 !important;margin:0 !important}.hero-wrapper.price .pricing_item .title_container .title .sub_desc{display:inline-block !important;font-family:'Poppins',sans-serif !important;font-size:14px !important;font-weight:400 !important;color:#8E8E93 !important;margin-left:4px !important}.hero-wrapper.price .pricing_item .title_container .price{font-size:12px !important;color:#8E8E93 !important;margin-top:8px !important;font-family:'JetBrains Mono',ui-monospace,monospace !important;letter-spacing:.02em !important}.hero-wrapper.price .pricing_item .avail_container{flex:1 !important;margin-bottom:28px !important}.hero-wrapper.price .pricing_item .avail_title{font-family:'JetBrains Mono',ui-monospace,monospace !important;font-size:10px !important;font-weight:700 !important;letter-spacing:.14em !important;text-transform:uppercase !important;color:#1f1f23 !important;margin-bottom:16px !important}.hero-wrapper.price .pricing_item .avail_list{display:flex !important;flex-direction:column !important;gap:12px !important}.hero-wrapper.price .pricing_item .avail_item{display:flex !important;align-items:flex-start !important;gap:12px !important;padding:0 !important;background:none !important}.hero-wrapper.price .pricing_item .avail_item .icon{width:18px !important;height:18px !important;flex-shrink:0 !important;background-image:none !important;border-radius:50% !important;display:flex !important;align-items:center !important;justify-content:center !important;background-color:rgba(46,125,91,.12) !important;position:relative !important;margin-top:2px !important}.hero-wrapper.price .pricing_item .avail_item .icon::after{content:'' !important;width:8px !important;height:4px !important;border-left:1.6px solid #2E7D5B !important;border-bottom:1.6px solid #2E7D5B !important;transform:rotate(-45deg) translate(0,-1px) !important}.hero-wrapper.price .pricing_item.pro .avail_item .icon{background-color:rgba(157,91,210,.12) !important}.hero-wrapper.price .pricing_item.pro .avail_item .icon::after{border-color:#9D5BD2 !important}.hero-wrapper.price .pricing_item .avail_item .desc{font-size:14px !important;line-height:1.5 !important;color:#3b3b40 !important}.hero-wrapper.price .pricing_item .bottom_container{margin-top:auto !important}.hero-wrapper.price .pricing_item .price_button{display:flex !important;align-items:center !important;justify-content:center !important;padding:14px 24px !important;border-radius:99px !important;font-family:'Poppins',sans-serif !important;font-size:14px !important;font-weight:600 !important;letter-spacing:-0.005em !important;cursor:pointer !important;text-decoration:none !important;transition:transform .15s,box-shadow .15s,background .15s !important;border:none !important;width:100% !important;box-sizing:border-box !important}.hero-wrapper.price .pricing_item .price_button.free{background:rgba(0,0,0,.06) !important;color:#1f1f23 !important;background-image:none !important}.hero-wrapper.price .pricing_item .price_button.free:hover{background:rgba(0,0,0,.1) !important;transform:translateY(-1px) !important}.hero-wrapper.price .pricing_item .price_button.pro{background:linear-gradient(135deg,#9D5BD2,#E55A8C) !important;color:#fff !important;background-image:linear-gradient(135deg,#9D5BD2,#E55A8C) !important;box-shadow:0 4px 16px rgba(157,91,210,.3) !important}.hero-wrapper.price .pricing_item .price_button.pro:hover{transform:translateY(-1px) !important;box-shadow:0 8px 22px rgba(157,91,210,.45) !important}.hero-wrapper.price .pricing_item .additional{font-size:11px !important;color:#8E8E93 !important;text-align:center !important;margin-top:10px !important;font-family:'JetBrains Mono',ui-monospace,monospace !important;letter-spacing:.02em !important}@media (max-width:700px){.hero-wrapper.price .pricing-section{padding:0 16px !important;margin:24px auto 40px !important}.hero-wrapper.price .pricing_container{grid-template-columns:1fr !important;gap:16px !important}.hero-wrapper.price .pricing_item{padding:28px 22px !important;border-radius:20px !important}.hero-wrapper.price .pricing_item .title_container .title{font-size:38px !important}}.hero-wrapper.price .section.devices{max-width:1000px !important;margin:60px auto !important;padding:0 24px !important;text-align:center !important}.hero-wrapper.price .device_title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif !important;font-size:clamp(24px,4vw,36px) !important;font-weight:500 !important;letter-spacing:-0.02em !important;color:#1f1f23 !important;margin-bottom:24px !important;line-height:1.2 !important;text-align:center !important}.hero-wrapper.price .section.feature_table .section_title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif !important;font-size:clamp(26px,4vw,40px) !important;font-weight:500 !important;text-align:center !important;color:#1f1f23 !important;margin:60px auto 32px !important;letter-spacing:-0.02em !important}.int3-section{max-width:1100px;margin:80px auto;padding:0 24px;text-align:center}.int3-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;margin:0 auto 18px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9D5BD2;background:rgba(157,91,210,.08);border:1px solid rgba(157,91,210,.18);border-radius:99px}.int3-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:#9D5BD2}.int3-title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:clamp(30px,5vw,48px);line-height:1.1;letter-spacing:-0.02em;font-weight:500;color:#1f1f23;margin:0 auto 16px;max-width:820px}.int3-title em{font-style:italic;background:linear-gradient(135deg,#9D5BD2,#E55A8C);-webkit-background-clip:text;background-clip:text;color:transparent}.int3-lead{font-size:16px;line-height:1.55;color:#5b5b63;max-width:580px;margin:0 auto 36px}.int3-card{background:#F8F8F4;border-radius:24px;padding:36px 32px;box-shadow:0 1px 2px rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.04)}.int3-meta{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8E8E93;text-align:center;margin-bottom:28px}.int3-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
1012@media (max-width:900px){.int3-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:540px){.int3-grid{grid-template-columns:repeat(2,1fr);gap:16px}}.int3-item{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 8px;border-radius:12px;transition:background .18s,transform .18s}.int3-item:hover{background:rgba(157,91,210,.04);transform:translateY(-2px)}.int3-item .int3-icon{transition:transform 400ms cubic-bezier(.34,1.56,.42,1),box-shadow 300ms,filter 400ms;transform-origin:center center;will-change:transform}.int3-item:hover .int3-icon{box-shadow:0 6px 16px rgba(157,91,210,.18),0 0 0 1px rgba(157,91,210,.15)}.int3-item[data-fx="page-flip"]:hover .int3-icon{transform:rotateY(-15deg) rotate(-4deg) scale(1.1)}.int3-item[data-fx="peek"]:hover .int3-icon{transform:translateY(-6px) rotate(-2deg) scale(1.08)}.int3-item[data-fx="envelope"]:hover .int3-icon{transform:rotate(8deg) scale(1.1)}.int3-item[data-fx="zoom-in"]:hover .int3-icon{animation:int3fxZoom 700ms cubic-bezier(.34,1.56,.42,1)}@keyframes int3fxZoom{0%{transform:scale(1)}40%{transform:scale(1.18)}60%{transform:scale(1.05)}100%{transform:scale(1.12)}}.int3-item[data-fx="ring"]:hover .int3-icon{animation:int3fxRing 600ms ease-in-out}@keyframes int3fxRing{0%,100%{transform:rotate(0) scale(1.1)}20%{transform:rotate(-10deg) scale(1.1)}40%{transform:rotate(8deg) scale(1.1)}60%{transform:rotate(-6deg) scale(1.1)}80%{transform:rotate(4deg) scale(1.1)}}.int3-item[data-fx="check"]:hover .int3-icon{animation:int3fxCheck 500ms cubic-bezier(.34,1.56,.42,1)}@keyframes int3fxCheck{0%{transform:scale(1)}50%{transform:scale(.9)}100%{transform:scale(1.1)}}.int3-item[data-fx="spin"]:hover .int3-icon{transform:rotate(360deg) scale(1.05);transition:transform 900ms cubic-bezier(.34,1.4,.64,1)}.int3-item[data-fx="hue"]:hover .int3-icon{animation:int3fxHue 1200ms ease-in-out}@keyframes int3fxHue{0%{filter:hue-rotate(0deg);transform:scale(1)}50%{filter:hue-rotate(45deg);transform:scale(1.12)}100%{filter:hue-rotate(0deg);transform:scale(1.1)}}.int3-item[data-fx="glow"]:hover .int3-icon{animation:int3fxGlow 1200ms ease-in-out infinite}@keyframes int3fxGlow{0%,100%{transform:scale(1.05);box-shadow:0 0 0 0 rgba(157,91,210,.5),0 4px 12px rgba(14,14,16,.06)}50%{transform:scale(1.13);box-shadow:0 0 0 8px rgba(157,91,210,0),0 8px 20px rgba(157,91,210,.3)}}.int3-item[data-fx="wave"]:hover .int3-icon{animation:int3fxWave 500ms ease-in-out}@keyframes int3fxWave{0%,100%{transform:translateY(0) scale(1.08)}25%{transform:translateY(-3px) scale(1.1)}50%{transform:translateY(2px) scale(1.06)}75%{transform:translateY(-2px) scale(1.1)}}.int3-item[data-fx="pin"]:hover .int3-icon{animation:int3fxPin 700ms cubic-bezier(.34,1.56,.42,1)}@keyframes int3fxPin{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-10px) scale(1.15)}60%{transform:translateY(2px) scale(1.05)}100%{transform:translateY(0) scale(1.1)}}.int3-item[data-fx="sun"]:hover .int3-icon{animation:int3fxSun 4s linear infinite}@keyframes int3fxSun{from{transform:rotate(0deg) scale(1.08)}to{transform:rotate(360deg) scale(1.08)}}.int3-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(14,14,16,.06),0 4px 12px rgba(14,14,16,.04),inset 0 .5px 0 rgba(255,255,255,.4)}.int3-icon img{width:60%;height:60%;object-fit:contain;display:block}.int3-icon.app-icon{background:transparent;padding:0;box-shadow:0 1px 2px rgba(14,14,16,.06),0 4px 12px rgba(14,14,16,.04)}.int3-icon.app-icon img{width:100%;height:100%;object-fit:cover;border-radius:14px}.int3-name{font-size:13px;font-weight:600;color:#3b3b40;text-align:center;margin-top:2px}@media (max-width:700px){.int3-section{margin:60px auto !important;padding:0 12px !important;max-width:100% !important;width:100% !important}.int3-card{padding:32px 12px !important;border-radius:22px !important;width:100% !important;max-width:none !important;align-self:stretch !important;box-sizing:border-box !important}.int3-grid{gap:12px 8px !important}.int3-item{padding:12px 4px !important;gap:8px !important}.int3-icon{width:56px !important;height:56px !important;border-radius:14px !important}.int3-name{font-size:13px !important}.int3-meta{margin-bottom:24px !important;font-size:10px !important;letter-spacing:.08em !important}.int3-title,.int3-lead{text-align:center !important}}.fcta3-section{max-width:1320px;margin:80px auto;padding:0 24px}.fcta3-card{background:#1f1f23;color:#fff;border-radius:28px;padding:80px 56px;text-align:center;position:relative;overflow:hidden;isolation:isolate}.fcta3-card::before{content:'';position:absolute;inset:0;background:radial-gradient(at 20% 50%,rgba(157,91,210,.45),transparent 50%),radial-gradient(at 80% 30%,rgba(229,90,140,.4),transparent 50%);filter:blur(40px);z-index:-1}.fcta3-title{font-family:'Poppins',sans-serif;font-size:clamp(36px,5vw,64px);font-weight:700;letter-spacing:-0.03em;line-height:1.05;margin:0 auto 18px;max-width:14ch;color:#fff}.fcta3-lead{font-size:17px;line-height:1.55;color:rgba(255,255,255,.72);max-width:520px;margin:0 auto 36px}
1012.fcta3-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:36px}.fcta3-btn,button.fcta3-btn,a.fcta3-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:6px !important;padding:16px 28px !important;border-radius:999px !important;font-family:'Poppins',sans-serif !important;font-size:15px !important;font-weight:600 !important;letter-spacing:-0.005em !important;cursor:pointer !important;border:none !important;outline:none !important;text-decoration:none !important;background-color:transparent !important;background-image:none !important;transition:transform .18s,box-shadow .18s,background .18s !important;-webkit-appearance:none !important;appearance:none !important}.fcta3-btn-primary,button.fcta3-btn-primary{background-color:transparent !important;background-image:linear-gradient(135deg,#9D5BD2 0%,#E55A8C 100%) !important;color:#fff !important;box-shadow:0 4px 16px rgba(157,91,210,.35) !important}.fcta3-btn-primary:hover{transform:translateY(-1px) !important;box-shadow:0 8px 22px rgba(157,91,210,.5) !important}.fcta3-btn-ghost{background:transparent;color:rgba(255,255,255,.85) !important;border:1px solid rgba(255,255,255,.18)}.fcta3-btn-ghost:hover{background:rgba(255,255,255,.08);color:#fff !important}.fcta3-stores{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.fcta3-store{display:inline-flex;align-items:center;gap:12px;padding:12px 22px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff !important;text-decoration:none !important;transition:background .18s,transform .18s}.fcta3-store:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}.fcta3-store svg{width:22px;height:22px;flex-shrink:0}.fcta3-store-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;font-size:16px;font-weight:600;font-family:'Poppins',sans-serif}.fcta3-store-text small{font-size:10px;font-weight:400;color:rgba(255,255,255,.6);letter-spacing:.02em;text-transform:none}@media (max-width:700px){.fcta3-section{margin:50px auto;padding:0 16px}.fcta3-card{padding:48px 24px;border-radius:22px}.fcta3-title{font-size:clamp(28px,8vw,38px);margin-bottom:14px}.fcta3-lead{font-size:15px;margin-bottom:28px}.fcta3-actions{flex-direction:column;width:100%;gap:10px;margin-bottom:28px}.fcta3-btn{width:100%;padding:16px 24px}.fcta3-stores{flex-direction:column;gap:10px}.fcta3-store{justify-content:flex-start;width:100%;padding:14px 18px}}
1012.benefits_item .pre-title{display:inline-flex !important;align-items:center !important;width:auto !important;padding:6px 14px !important;margin:0 auto 20px !important;font-family:'JetBrains Mono',ui-monospace,monospace !important;font-size:11px !important;font-weight:700 !important;letter-spacing:.14em !important;text-transform:uppercase !important;border-radius:99px !important;border:1px solid transparent !important;line-height:1.4 !important;background:none !important;color:inherit !important}.benefits_item.bad .pre-title{background:rgba(225,90,90,.08) !important;color:#C44A4A !important;border-color:rgba(225,90,90,.18) !important}.benefits_item.good .pre-title{background:rgba(46,125,91,.08) !important;color:#2E7D5B !important;border-color:rgba(46,125,91,.18) !important}.benefits_item .item-list .icon{width:18px !important;height:18px !important;min-width:18px !important;background-size:contain !important;background-repeat:no-repeat !important;background-position:center !important;margin-top:4px !important;opacity:.85 !important;filter:none !important}.benefits_item .item-list{display:flex !important;align-items:flex-start !important;gap:12px !important;margin-bottom:16px !important}.benefits_item .item-list .description{font-family:inherit !important;font-size:15px !important;line-height:1.55 !important;color:#5b5b63 !important}.benefits_item .item-list .description b{color:#1f1f23 !important;font-weight:600 !important}.rvp-videos-scroll-indicator{display:none}@media (max-width:700px){.rvp-videos-scroll-indicator{display:flex;justify-content:center;align-items:center;gap:0;margin:8px auto 0;height:4px;width:60%;max-width:200px;background:rgba(0,0,0,.06);border-radius:99px;overflow:hidden;position:relative}.rvp-videos-scroll-indicator__bar{position:absolute;left:0;top:0;bottom:0;width:25%;background:linear-gradient(90deg,#9D5BD2,#E55A8C);border-radius:99px;transition:transform .18s ease-out,width .2s ease-out;transform:translateX(0)}}.glow-container .ball{will-change:transform;transition:transform .05s linear}.rvp-stat-num{display:inline-block;font-variant-numeric:tabular-nums;transition:color .3s}.rvp-stat-num.is-counting{color:#9D5BD2}.bg3p-empty{text-align:center;padding:80px 24px;max-width:480px;margin:0 auto}.bg3p-empty__icon{width:80px;height:80px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(157,91,210,.08),rgba(229,90,140,.08));border-radius:50%;color:#9D5BD2}.bg3p-empty__icon svg{width:36px;height:36px}.bg3p-empty__title{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:26px;line-height:1.2;letter-spacing:-0.02em;font-weight:500;color:#1f1f23;margin:0 0 8px}.bg3p-empty__title em{font-style:italic;background:linear-gradient(135deg,#9D5BD2,#E55A8C);-webkit-background-clip:text;background-clip:text;color:transparent}.bg3p-empty__text{font-size:15px;color:#5b5b63;line-height:1.5;margin:0 0 28px}.bg3p-empty__cta{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:99px;background:#1f1f23;color:#fff !important;font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;letter-spacing:-0.005em;text-decoration:none !important;transition:transform .15s,background .15s}.bg3p-empty__cta:hover{background:#000;transform:translateY(-1px)}.bg3p-empty__cta svg{width:14px;height:14px}.sticky-cta-mobile{display:none}@media (max-width:720px){.sticky-cta-mobile{display:flex !important;align-items:center;gap:10px;position:fixed;bottom:16px;left:50%;transform:translateX(-50%) translateY(100px) scale(.6);z-index:999;opacity:0;pointer-events:none;transform-origin:bottom center;padding:6px 6px 6px 18px;background:rgba(255,255,255,.85);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-radius:99px;box-shadow:0 8px 28px -6px rgba(31,31,35,.18),0 0 0 1px rgba(0,0,0,.05);max-width:calc(100vw - 32px);will-change:transform,opacity}.sticky-cta-mobile.is-visible{animation:stickyPop .55s cubic-bezier(.22,1.3,.36,1) both;pointer-events:auto}@keyframes stickyPop{0%{opacity:0;transform:translateX(-50%) translateY(100px) scale(.6)}50%{opacity:1}100%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.sticky-cta-mobile.is-hiding{animation:stickyHide .3s cubic-bezier(.4,0,.6,1) both;pointer-events:none}@keyframes stickyHide{0%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}100%{opacity:0;transform:translateX(-50%) translateY(80px) scale(.7)}}body.has-cookie-banner .sticky-cta-mobile.is-visible{animation:stickyPopUp .55s cubic-bezier(.22,1.3,.36,1) both}@keyframes stickyPopUp{0%{opacity:0;transform:translateX(-50%) translateY(100px) scale(.6)}50%{opacity:1}100%{opacity:1;transform:translateX(-50%) translateY(-120px) scale(1)}}.sticky-cta-mobile.is-visible .sticky-cta-mobile__label,.sticky-cta-mobile.is-visible .sticky-cta-mobile__btn{animation:stickyContentIn .4s cubic-bezier(.22,1.18,.36,1) both}.sticky-cta-mobile.is-visible .sticky-cta-mobile__label{animation-delay:.22s}.sticky-cta-mobile.is-visible .sticky-cta-mobile__btn{animation-delay:.30s}@keyframes stickyContentIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sticky-cta-mobile.is-visible .sticky-cta-mobile__btn{animation:stickyContentIn .4s cubic-bezier(.22,1.18,.36,1) .30s both,stickyPulse 1.8s ease-in-out 1.2s 2}@keyframes stickyPulse{0%,100%{box-shadow:0 2px 6px rgba(0,0,0,.12)}50%{box-shadow:0 2px 6px rgba(0,0,0,.12),0 0 0 6px rgba(157,91,210,.10)}}@media (prefers-reduced-motion:reduce){.sticky-cta-mobile.is-visible,.sticky-cta-mobile.is-visible .sticky-cta-mobile__label,.sticky-cta-mobile.is-visible .sticky-cta-mobile__btn{animation:none !important;opacity:1 !important;transform:translateX(-50%) translateY(0) scale(1) !important}}.sticky-cta-mobile__label{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;font-size:15px;font-weight:500;letter-spacing:-0.015em;color:#1f1f23;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.sticky-cta-mobile__btn{display:inline-flex !important;align-items:center;justify-content:center;flex-shrink:0;padding:10px 18px;border-radius:99px;background:#1f1f23;color:#fff !important;font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;letter-spacing:-0.005em;border:none;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.12);transition:transform .15s,background .15s;text-decoration:none;gap:6px}.sticky-cta-mobile__btn:active{transform:scale(.96);background:#000}.sticky-cta-mobile__btn::after{content:'';width:6px;height:6px;border-right:1.5px solid rgba(255,255,255,.7);border-top:1.5px solid rgba(255,255,255,.7);transform:rotate(45deg)}}@media (max-width:600px){html body #cookieConsentModal.cookie-modal,body #cookieConsentModal.cookie-modal{bottom:12px !important;right:12px !important;left:auto !important;top:auto !important;width:320px !important;max-width:calc(100vw - 24px) !important;min-width:0 !important;min-height:0 !important;border-radius:14px !important}#cookieConsentModal .cookie-modal-content{padding:14px 16px !important}#cookieConsentModal h2{font-size:14px !important;margin-bottom:4px !important}#cookieConsentModal p{font-size:11.5px !important;margin-bottom:10px !important}#cookieConsentModal .cookie-button{padding:7px 12px !important;font-size:12px !important}}</style> 1013</head> 1014<body style="background-color: #fff !important; height: 100% !important; overflow-x:hidden;" id="app"> 1015 1016<!-- End Google Tag Manager (noscript) --> 1017<!-- NAVIGATION --> 1018 1019 1020<!--<div class="qr-code-sticky">--> 1021<!-- <div class="qr-code-container">--> 1022<!-- <div class="qr-code_img" style="background-image: url(/img/qr-code.png)"></div>--> 1023<!-- <div class="qr-code_title">Get App</div>-->
1024<!-- <div class="qr-code_cam" style="background-image: url(img/svg/cam.svg)"></div>--> 1025<!-- </div>--> 1026<!--</div>--> 1027 1028 1029 <div class="fb-sticky sticky" style="display: none; width: 174px; height:53px; border: none;background-color: transparent;box-shadow: none;"> 1030 <a href="https://www.facebook.com/groups/britecommunity" class="link sticky-link / js-tap-link" target="_blank" style="box-shadow: 0px 0px 10px rgba(0,0,0,.1); border-radius: 10px;width: 100%;height: 100%;background-size: contain;background-repeat: no-repeat;" aria-label="Follow us on Twitter"> 1031 <div class="sticky-container"> 1032 <div class="logo" style=" margin:0; background-image: url(https://britetodo.com/img/facebook_bage.png)"></div> 1033 </div> 1034 <div class="sticky-container"> 1035 <div class="info top">JOIN OUR</div> 1036 <div class="info">FACEBOOK</div> 1037 </div> 1038 </a> 1039<!-- <div class="sticky-container close / js-close-bage" style="background-image: url(img/svg/Icon_close.svg);position: absolute;top: 5px;left: 0;">--> 1040<!----> 1041<!-- </div>--> 1042 </div> 1043 1044<div class="circle orange" style="background-image:url(img/svg/orange_circle.svg)"></div> 1045<div class="circle blue" style="background-image:url(img/svg/blue_circle.svg)" ></div> 1046 1047<a href="https://britetodo.com/blog.php?cat=updates" class="whats-new-section" style="width: 100%; 1048background: var(--gradient); 1049color: #fff !important; 1050display: flex; font-size: 15px; 1051justify-content: center; 1052align-items: center; 1053min-height: 30px; 1054z-index: 99999; 1055">What's new</a> 1056<!-- ============= HEADER v3 (isolated .brh-* namespace) ============= --> 1057<div class="brh-wrap" id="brhWrap"> 1058 <nav class="brh-nav" id="brhNav" aria-label="Primary"> 1059 <!-- Brand --> 1060 <a class="brh-brand" href="https://britetodo.com/"> 1061 <span class="brh-mark" aria-hidden="true"></span> 1062 <span class="brh-brand-text">Brite</span> 1063 </a> 1064 1065 <!-- Nav links (desktop center) --> 1066 <div class="brh-links"> 1067 <a href="/features" onclick="fbq('trackCustom', 'goToFeatures');" class="brh-link ">Features</a> 1068 <a href="/pricing" onclick="fbq('trackCustom', 'goToPricing');" class="brh-link ">Pricing</a> 1069 <a href="/reviews" onclick="fbq('trackCustom', 'goToReviews');" class="brh-link ">Reviews</a> 1070 <a href="/roadmap" onclick="fbq('trackCustom', 'goToRoadmap');" class="brh-link ">Roadmap</a> 1071 <a href="/blog" onclick="fbq('trackCustom', 'goToBlog');" class="brh-link ">Blog</a> 1072 <a href="/teams" onclick="fbq('trackCustom', 'goToTeams');" class="brh-link ">Teams</a> 1073 </div> 1074 1075 <!-- CTA (gradient pill â desktop only) --> 1076 <div class="brh-cta-wrap authreg" onclick="pintrk('track', 'try_for_free_click'); gtag('event', 'open_reg_modal', {'event_name': 'open_reg_modal'});"> 1077 <span class="brh-cta">Start Brite for free</span> 1078 </div> 1079 1080 <!-- Hamburger (mobile only) â ÑÑаÑÑй id/клаÑÑ ÑÐ¾Ñ ÑанÑн Ð´Ð»Ñ JS hook --> 1081 <div id="hamburger" class="hamburger brh-burger" aria-label="Menu"> 1082 <div class="line"></div> 1083 <div class="line"></div> 1084 <div class="line"></div> 1085 <div class="line"></div> 1086 </div> 1087 1088 <!-- Mobile menu â markup ÑÐ¾Ñ ÑанÑн 1:1 Ð´Ð»Ñ ÑÑÑеÑÑвÑÑÑÐ¸Ñ JS handlers --> 1089 <div class="mobile_menu-wrapper" style="justify-content: space-between;"> 1090 <div class="mobile_menu-container"> 1091 <a href="/features">Features</a> 1092 <a href="/pricing">Pricing</a> 1093 <a href="/reviews">Reviews</a> 1094 <a href="/roadmap">Roadmap</a> 1095 <a href="/blog">Blog</a> 1096 <a href="https://apps.apple.com/app/apple-store/id1519999420?pt=121300042&ct=website&mt=8" target="_blank">Download IOS app</a> 1097 <a href="https://play.google.com/store/apps/details?id=io.konveier.timo" target="_blank">Download Android app</a> 1098 </div> 1099 <div class="mobile_buttons-container"> 1100 <div class="mobile_buttons-container download_buttons konv-w-100 hide-if-desktop" style="padding-bottom: 15px;margin-top: 60px; flex-direction: row;"> 1101 <a href="https://apps.apple.com/app/apple-store/id1519999420?pt=121300042&ct=website&mt=8" class="download-img" style="background-image: url(img/download_app_store.png); padding-bottom: 0px !important; min-height: 70px; margin-right: 10px;" target="_blank"></a> 1102 <a href="https://play.google.com/store/apps/details?id=io.konveier.timo" class="download-img" style="background-image: url(img/google_play.png); min-height: 70px; padding-bottom: 0px !important;" target="_blank"></a> 1103 </div> 1104 <div class="buttons_container hide-if-mobile"> 1105 <div class="mobile_login_button google authreg">Start Brite for free</div> 1106 <div class="mobile_login_button apple log-in authreg">Log in</div> 1107 </div> 1108 </div> 1109 </div> 1110 </nav> 1111</div> 1112 1113 1114<div class="glow-container"> 1115 <div class="ball"></div> 1116 <div class="ball" style="--delay:-12s;--size:0.35;--speed:25s;"></div> 1117 <div class="ball" style="--delay:-10s;--size:0.3;--speed:15s;"></div> 1118 1119</div> 1120
1121<script> 1122 function toggleSelect(el) { 1123 el.classList.toggle("open"); 1124 const options = el.querySelector(".select-options"); 1125 options.style.display = options.style.display === "block" ? "none" : "block"; 1126 } 1127 1128 function selectLanguage(code) { 1129 document.getElementById("lang-input").value = code; 1130 document.getElementById("lang-form").submit(); 1131 } 1132 document.addEventListener("click", function (e) { 1133 const isSelector = e.target.closest('.custom-select'); 1134 document.querySelectorAll('.custom-select').forEach(el => { 1135 if (el !== isSelector) { 1136 el.classList.remove("open"); 1137 el.querySelector(".select-options").style.display = "none"; 1138 } 1139 }); 1140 }); 1141</script>
1141 1142 1143
1143<script> 1144 1145 1146 1147 if(window.location.href.includes("utm_campaign")){ 1148 1149 var splitUTM = window.location.href.split('utm_campaign=')[1]; 1150 1151 localStorage.briteUTM = splitUTM; 1152 } 1153 1154 // pintrk('track', 'pagevisit', { 1155 // event_id: 'page_view_main' 1156 // }); 1157 </script>
1157 1158 1159<div class="background-gradient-image" style="background-image: url("") !important;"></div> 1160 1161 1162 1163 <div class="hero-wrapper"> 1164 1165 1166 <div class="title-section section" > 1167 <div class="konv-flex-row konv-mob-flex-col-start"> 1168 <div class="konv-flex-col-left konv-mob-flex-col-center"> 1169 <h1 class="title " style="margin: 0px !important; ">Your All-in-One Planner App: Tasks, Calendar, Habits & More for Effortless Productivity.</h1> 1170 <!-- <div class="description">--><!--</div>--> 1171 <!-- <div class="description" style="font-size: 80%">--><!--</div>--> 1172 <div class="description " style="font-weight: 400; font-size: 20px;">What do you want to do with Brite?</div> 1173 1174 <style> 1175 /* Hero cards â language-agnostic vertical fix (5Ã2 grid, fixed height, clamp title) */ 1176 .hero-wrapper .features_card_container.konv-flex-row{ 1177 display:grid !important; 1178 grid-template-columns:repeat(5,1fr) !important; 1179 grid-auto-rows:1fr !important; 1180 gap:10px !important; 1181 max-width:600px !important; 1182 width:100% !important; 1183 margin:20px 0 !important; 1184 } 1185 .hero-wrapper .features_card_container .seo_card.js-card-check{ 1186 min-height:118px !important; 1187 height:118px !important; 1188 padding:14px 10px !important; 1189 display:flex !important; 1190 flex-direction:column !important; 1191 align-items:center !important; 1192 justify-content:center !important; 1193 gap:8px !important; 1194 position:relative !important; 1195 box-sizing:border-box !important; 1196 } 1197 .hero-wrapper .features_card_container .seo_card.js-card-check .squaredThree{ 1198 position:absolute !important; 1199 top:8px !important; 1200 left:8px !important; 1201 transform:scale(.7) !important; 1202 transform-origin:top left !important; 1203 } 1204 .hero-wrapper .features_card_container .seo_card.js-card-check .icon{ 1205 width:36px !important; 1206 height:36px !important; 1207 margin:0 !important; 1208 flex-shrink:0 !important; 1209 border-radius:10px !important; 1210 display:flex !important; 1211 align-items:center !important; 1212 justify-content:center !important; 1213 } 1214 .hero-wrapper .features_card_container .seo_card.js-card-check .icon svg{ 1215 width:20px !important; 1216 height:20px !important; 1217 } 1218 .hero-wrapper .features_card_container .seo_card.js-card-check .card_title{ 1219 margin:0 !important; 1220 padding:0 2px !important; 1221 font-size:11.5px !important; 1222 line-height:1.2 !important; 1223 font-weight:600 !important; 1224 text-align:center !important; 1225 display:-webkit-box !important; 1226 -webkit-line-clamp:2 !important; 1227 -webkit-box-orient:vertical !important; 1228 overflow:hidden !important; 1229 word-break:break-word !important; 1230 hyphens:auto !important; 1231 } 1232 @media (max-width:720px){ 1233 .hero-wrapper .features_card_container.konv-flex-row{ 1234 max-width:100% !important; 1235 gap:8px !important; 1236 } 1237 .hero-wrapper .features_card_container .seo_card.js-card-check{ 1238 min-height:100px !important; 1239 height:100px !important; 1240 padding:12px 8px !important; 1241 } 1242 .hero-wrapper .features_card_container .seo_card.js-card-check .icon{ 1243 width:32px !important; 1244 height:32px !important; 1245 } 1246 .hero-wrapper .features_card_container .seo_card.js-card-check .card_title{ 1247 font-size:10.5px !important; 1248 } 1249 } 1250 </style> 1251 1252 <div class="features_card_container konv-flex-row "> 1253 1254 1255 1256 1257 <div class="seo_card / js-card-check btn" style="animation-delay: 0ms;"> 1258 <div class="squaredThree"> 1259 <input type="checkbox" value="None" id="squaredThree_Daily Tasks" name="check" /> 1260 <label for="squaredThree_Daily Tasks"></label> 1261 </div> 1262 <div class="icon" style="background-color: rgba(70,130,180,0.1);"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" style="display:block"><circle cx="12" cy="12" r="9" fill="#56aef8"/><path d="M8 12.3l2.5 2.5 5.3-5.6" stroke="#fff" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg></div> 1263 <div class="card_title">Daily Tasks</div> 1264 </div> 1265 1266 1267 1268 1269 <div class="seo_card / js-card-check btn" style="animation-delay: 100ms;"> 1270 <div class="squaredThree"> 1271 <input type="checkbox" value="None" id="squaredThree_Goal Tracking" name="check" /> 1272 <label for="squaredThree_Goal Tracking"></label> 1273 </div> 1274 <div class="icon" style="background-color: rgba(255, 99, 6, 0.1);"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" style="display:block"><path d="M6 21V4c0-.7.6-1.3 1.3-1.3.7 0 1.3.6 1.3 1.3v17c0 .5-.4.9-.9.9H6.9c-.5 0-.9-.4-.9-.9z" fill="#ff6700"/><path d="M8.6 4.2h10.5c.6 0 .9.7.5 1.1l-2.7 3 2.7 3c.4.5.1 1.1-.5 1.1H8.6V4.2z" fill="#ff6700"/></svg></div> 1275 <div class="card_title">Goal Tracking</div> 1276 </div> 1277 1278 1279 1280 1281 <div class="seo_card / js-card-check btn" style="animation-delay: 200ms;"> 1282 <div class="squaredThree"> 1283 <input type="checkbox" value="None" id="squaredThree_Event Scheduling" name="check" /> 1284 <label for="squaredThree_Event Scheduling"></label> 1285 </div> 1286 <div class="icon" style="background-color: rgba(255,0,174,0.1);"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" style="display:block"><rect x="3.5" y="5" width="17" height="15.5" rx="2.5" fill="#ff00ae"/><rect x="3.5" y="5" width="17" height="4.5" fill="#d6008e"/><rect x="7" y="3" width="2.2" height="4" rx="1.1" fill="#9a0067"/><rect x="14.8" y="3" width="2.2" height="4" rx="1.1" fill="#9a0067"/><rect x="6.5" y="12" width="3" height="2.5" rx=".5" fill="#fff"/><rect x="11" y="12" width="3" height="2.5" rx=".5" fill="#fff" op
1286acity=".6"/><rect x="15.5" y="12" width="3" height="2.5" rx=".5" fill="#fff" opacity=".6"/><rect x="6.5" y="16" width="3" height="2.5" rx=".5" fill="#fff" opacity=".6"/><rect x="11" y="16" width="3" height="2.5" rx=".5" fill="#fff"/></svg></div> 1287 <div class="card_title">Event Scheduling</div> 1288 </div> 1289 1290 1291 1292 1293 <div class="seo_card / js-card-check btn" style="animation-delay: 300ms;"> 1294 <div class="squaredThree"> 1295 <input type="checkbox" value="None" id="squaredThree_Habit Building" name="check" /> 1296 <label for="squaredThree_Habit Building"></label> 1297 </div> 1298 <div class="icon" style="background-color: rgba(255,0,98,0.1);"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" style="display:block"><rect x="3" y="4" width="3" height="3" rx=".7" fill="#ff0062"/><rect x="8" y="5" width="13" height="1.5" rx=".75" fill="#ff0062"/><rect x="3" y="10.25" width="3" height="3" rx=".7" fill="#ff0062"/><rect x="8" y="11.25" width="11" height="1.5" rx=".75" fill="#ff0062"/><rect x="3" y="16.5" width="3" height="3" rx=".7" fill="#ff0062"/><rect x="8" y="17.5" width="9" height="1.5" rx=".75" fill="#ff0062"/><path d="M3.6 5.5l.6.7 1.2-1.2M3.6 11.75l.6.7 1.2-1.2M3.6 18l.6.7 1.2-1.2" stroke="#fff" stroke-width="0.8" stroke-linecap="round" fill="none"/></svg></div> 1299 <div class="card_title">Habit Building</div> 1300 </div> 1301 1302 1303 1304 1305 <div class="seo_card / js-card-check btn" style="animation-delay: 400ms;"> 1306 <div class="squaredThree"> 1307 <input type="checkbox" value="None" id="squaredThree_Project Monitoring" name="check" /> 1308 <label for="squaredThree_Project Monitoring"></label> 1309 </div> 1310 <div class="icon" style="background-color: rgba(70,180,134,0.1);"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" style="display:block"><path d="M3 7.5c0-1.1.9-2 2-2h4.2c.4 0 .8.2 1.2.5l1.8 1.5h8.3c1.1 0 2 .9 2 2v9c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2v-11z" fill="#46b486"/><circle cx="18.5" cy="9.5" r="3" fill="#fff"/><path d="M18.5 8v3M17 9.5h3" stroke="#46b486" stroke-width="1.4" stroke-linecap="round"/></svg></div> 1311 <div class="card_title">Project Monitoring</div> 1312 </div> 1313 1314 1315 1316 1317 <div class="seo_card / js-card-check btn" style="animation-delay: 500ms;"> 1318 <div class="squaredThree"> 1319 <input type="checkbox" value="None" id="squaredThree_Team Collaboration" name="check" /> 1320 <label for="squaredThree_Team Collaboration"></label> 1321 </div> 1322 <div class="icon" style="background-color: rgba(57,229,0,0.1);"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" style="display:block"><circle cx="8.5" cy="8.5" r="3" fill="#39e500"/><path d="M3 18.5c0-3 2.5-5.5 5.5-5.5s5.5 2.5 5.5 5.5v.5H3v-.5z" fill="#39e500"/><circle cx="16.5" cy="9" r="2.5" fill="#39e500" opacity=".7"/><path d="M14.2 14.2c.7-.4 1.5-.7 2.3-.7 2.5 0 4.5 1.8 4.5 4.2v.8h-4.6" fill="#39e500" opacity=".7"/></svg></div> 1323 <div class="card_title">Team Collaboration</div> 1324 </div> 1325 1326 1327 1328 1329 <div class="seo_card / js-card-check btn" style="animation-delay: 600ms;"> 1330 <div class="squaredThree"> 1331 <input type="checkbox" value="None" id="squaredThree_Quick Notes" name="check" /> 1332 <label for="squaredThree_Quick Notes"></label> 1333 </div> 1334 <div class="icon" style="background-color: rgba(255,215,0,0.1);"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" style="display:block"><path d="M5 3.5h9.3L19 8.2v11.3c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V5.5c0-1.1.9-2 2-2z" fill="#ffae00"/>
1334<path d="M14.3 3.5v3.7c0 .5.4 1 1 1H19" fill="#fff" opacity=".4"/><rect x="6.5" y="11" width="10" height="1.5" rx=".75" fill="#fff"/><rect x="6.5" y="14" width="10" height="1.5" rx=".75" fill="#fff"/><rect x="6.5" y="17" width="6" height="1.5" rx=".75" fill="#fff"/></svg></div> 1335 <div class="card_title">Quick Notes</div> 1336 </div> 1337 1338 1339 1340 1341 <div class="seo_card / js-card-check btn" style="animation-delay: 700ms;"> 1342 <div class="squaredThree"> 1343 <input type="checkbox" value="None" id="squaredThree_Pomodoro Focus" name="check" /> 1344 <label for="squaredThree_Pomodoro Focus"></label> 1345 </div> 1346 <div class="icon" style="background-color: rgba(103,0,229,0.1);"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" style="display:block"><rect x="9" y="2" width="6" height="2.2" rx="1" fill="#6700e5"/><circle cx="12" cy="13.5" r="8.3" fill="#6700e5"/><path d="M18.5 9.2l1.4-1.4" stroke="#6700e5" stroke-width="1.6" stroke-linecap="round"/><path d="M5.5 9.2L4.1 7.8" stroke="#6700e5" stroke-width="1.6" stroke-linecap="round"/><path d="M12 8.5v5l3 2" stroke="#fff" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg></div> 1347 <div class="card_title">Pomodoro Focus</div> 1348 </div> 1349 1350 1351 1352 1353 <div class="seo_card / js-card-check btn" style="animation-delay: 800ms;"> 1354 <div class="squaredThree"> 1355 <input type="checkbox" value="None" id="squaredThree_Just Exploring" name="check" /> 1356 <label for="squaredThree_Just Exploring"></label> 1357 </div> 1358 <div class="icon" style="background-color: rgba(0,229,229,0.1);"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" style="display:block"><circle cx="12" cy="12" r="9" fill="#00b8c4"/><path d="M16.2 7.8L13.5 14l-6.2 2.7L10 10.5l6.2-2.7z" fill="#fff"/><circle cx="12" cy="12" r="1.4" fill="#00b8c4"/></svg></div> 1359 <div class="card_title">Just Exploring</div> 1360 </div> 1361 1362 1363 </div> 1364 1365 <button class="btn btn_purple login_button authreg main-button hidden konv-scale-in-fade-in" style=" 1366 margin-top: 25px; 1367 min-height: 50px; 1368 border-radius: 100px;" onclick="pintrk('track', 'try_for_free_click'); gtag('event', 'tryforfreeMain', {'event_name': 'open_reg_modal'});">Start Brite for free </button> 1369 1370 <div class="hero-available"> 1371 <span class="hero-available-label">Available for:</span> 1372 <span class="hero-available-icons"> 1373 <span class="hero-os-icon" title="iOS"><img src="/brand-preview/icons/os-apple.svg" alt="iOS" width="20" height="24" loading="lazy"></span> 1374 <span class="hero-os-icon" title="Android"><img src="/brand-preview/icons/os-android.svg" alt="Android" width="24" height="24" loading="lazy"></span> 1375 <span class="hero-os-icon" title="Windows"><img src="/brand-preview/icons/os-windows.svg" alt="Windows" width="22" height="22" loading="lazy"></span> 1376 </span> 1377 </div> 1378 <style> 1379 .hero-available { display:flex; align-items:center; gap:14px; margin-top:20px; font-family:'Inter',-apple-system,system-ui,sans-serif; width:100%; } 1380 .hero-available-label { font-size:15px; color:#56565E; font-weight:500; } 1381 .hero-available-icons { display:inline-flex; align-items:center; gap:12px; } 1382 .hero-os-icon { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:10px; background:#FFFFFF; box-shadow:0 1px 2px rgba(14,14,16,0.04), 0 0 0 1px rgba(14,14,16,0.06); transition:transform .2s ease, box-shadow .2s ease; } 1383 .hero-os-icon:hover { transform:translateY(-2px); box-shadow:0 6px 16px rgba(14,14,16,0.08), 0 0 0 1px rgba(14,14,16,0.08); }
1384 .hero-os-icon img { display:block; } 1385 @media (max-width:720px) { .hero-available { gap:10px; margin-top:16px; } .hero-available-label { font-size:13px; } .hero-os-icon { width:32px; height:32px; } } 1386 </style> 1387 1388 </div> 1389 1390 <link rel="stylesheet" href="/css/hero-showcase.css?v=5"> 1391 <!-- Hero device showcase (Mac window + iPhone) â ported from brand-preview/home_v3 --> 1392 <div class="hero-showcase"> 1393 <div class="mac-window"> 1394 <div class="mac-titlebar"> 1395 <div class="mac-traffic"><span class="mac-dot close"></span><span class="mac-dot min"></span><span class="mac-dot max"></span></div> 1396 <div class="mac-title">Brite â This week</div> 1397 </div> 1398 <div class="mac-body"> 1399 <div class="mac-sidebar"> 1400 <div class="mac-sidebar-section">Plan</div> 1401 <div class="mac-sidebar-item active"><svg class="mac-side-ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 9h18M8 3v4M16 3v4"/></svg>This week</div> 1402 <div class="mac-sidebar-item"><svg class="mac-side-ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="6" height="6" rx="1"/><rect x="14" y="4" width="6" height="6" rx="1"/><rect x="4" y="14" width="6" height="6" rx="1"/><rect x="14" y="14" width="6" height="6" rx="1"/></svg>Month</div> 1403 <div class="mac-sidebar-item"><svg class="mac-side-ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1.5" fill="currentColor"/></svg>Goals</div> 1404 <div class="mac-sidebar-section">Spaces</div> 1405 <div class="mac-sidebar-item"><svg class="mac-side-ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="7" width="18" height="13" rx="2"/><path d="M9 7V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2"/></svg>Work</div> 1406 <div class="mac-sidebar-item"><svg class="mac-side-ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M3 11l9-8 9 8"/><path d="M5 10v10h14V10"/></svg>Home</div> 1407 <div class="mac-sidebar-section">Practices</div> 1408 <div class="mac-sidebar-item"><svg class="mac-side-ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10z"/><path d="M2 21c0-3 1.85-5.36 5.08-6"/></svg>Habits</div> 1409 <div class="mac-sidebar-item"><svg class="mac-side-ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"/><path d="M14 3v6h6M8 13h8M8 17h6"/></svg>Notes</div> 1410 </div> 1411 <div class="mac-content"> 1412 <div class="mac-content-day">Tuesday · April 22</div> 1413 <h4 class="mac-content-title">A quiet day, mostly.</h4> 1414 <div class="mac-task"> 1415 <div class="mac-check done"></div> 1416 <div class="mac-task-title">Morning pages â 20 min</div> 1417 <div class="mac-task-time">07:30</div> 1418 </div> 1419 <div class="mac-task"> 1420 <div class="mac-check"></div> 1421 <div class="mac-task-title">Project review</div> 1422 <div class="mac-task-time">10:00 · 90m</div> 1423 </div> 1424 <div class="mac-task"> 1425 <div class="mac-check"></div> 1426 <div class="mac-task-title">Lunch w/ Sasha</div> 1427 <div class="mac-task-time">12:30</div> 1428 </div> 1429 <div class="mac-task"> 1430 <div class="mac-check"></div> 1431 <div class="mac-task-title">Deep work â finish blog post</div> 1432 <div class="mac-task-time">14:00 · 2h</div> 1433 </div> 1434 <div class="mac-task"> 1435 <div class="mac-check"></div> 1436 <div class="mac-task-title">Read 30 minutes</div> 1437 <div class="mac-task-time">22:00</div> 1438 </div> 1439 </div> 1440 </div> 1441 </div> 1442 <div class="device-iphone"> 1443 <div class="iphone-screen"> 1444 <div class="ip-statusbar">
1445 <span>9:41</span> 1446 <div class="ip-statusbar-right"> 1447 <div class="ip-signal"><span></span><span></span><span></span><span></span></div> 1448 <div class="ip-battery"><div class="ip-battery-fill"></div></div> 1449 </div> 1450 </div> 1451 <div class="ip-header"> 1452 <div> 1453 <div class="ip-header-greet">Good morning, Alex</div> 1454 <div class="ip-header-day">Tuesday</div> 1455 <div class="ip-header-date">April 22 · 4 events · 2 deep work blocks</div> 1456 </div> 1457 <div class="ip-header-right"> 1458 <span class="ip-avatar">A</span> 1459 </div> 1460 </div> 1461 <div class="ip-now-card"> 1462 <div class="ip-now-tag">Now · 15 min in</div> 1463 <div class="ip-now-title">Project review</div> 1464 <div class="ip-now-meta"> 1465 <span>09:30 â 11:00</span> 1466 <span>·</span> 1467 <span>Focus</span> 1468 </div> 1469 <div class="ip-now-bar"><div class="ip-now-bar-fill"></div></div> 1470 <div class="ip-ai-hint"> 1471 <span class="ip-ai-sparkle">â¦</span> 1472 <span class="ip-ai-hint-text">Brite AI: "Want me to schedule a 10-min break after?"</span> 1473 </div> 1474 </div> 1475 <div class="ip-section-h"> 1476 <span class="ip-section-title">Up next</span> 1477 <span class="ip-section-meta">3 more today</span> 1478 </div> 1479 <div class="ip-tasks"> 1480 <div class="ip-task"> 1481 <span class="ip-task-check"></span> 1482 <span class="ip-task-text">Lunch w/ Sasha</span> 1483 <span class="ip-task-meta">12:30</span> 1484 </div> 1485 <div class="ip-task"> 1486 <span class="ip-task-check"></span> 1487 <span class="ip-task-text">Deep work · blog post</span> 1488 <span class="ip-task-tag focus">Focus</span> 1489 </div> 1490 <div class="ip-task"> 1491 <span class="ip-task-check"></span> 1492 <span class="ip-task-text">Read 30 minutes</span> 1493 <span class="ip-task-tag habit">Habit</span> 1494 </div> 1495 </div> 1496 <div class="ip-habits"> 1497 <div class="ip-habits-h"> 1498 <div class="ip-habits-title">Today's habits <span class="ip-habit-streak">ð¥ 27</span></div> 1499 <div class="ip-habits-count">3 of 4 done</div> 1500 </div> 1501 <div class="ip-habits-row"> 1502 <div class="ip-habit done"><div class="ip-habit-circle"></div><div class="ip-habit-label">
1502Meditate</div></div> 1503 <div class="ip-habit done"><div class="ip-habit-circle"></div><div class="ip-habit-label">Workout</div></div> 1504 <div class="ip-habit done"><div class="ip-habit-circle"></div><div class="ip-habit-label">Read</div></div> 1505 <div class="ip-habit"><div class="ip-habit-circle"></div><div class="ip-habit-label">Journal</div></div> 1506 </div> 1507 </div> 1508 <div class="ip-tabbar"> 1509 <div class="ip-tab active" title="Today"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="16" rx="3"/><line x1="3" y1="10" x2="21" y2="10"/></svg></div> 1510 <div class="ip-tab" title="Tasks"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="9" y1="6" x2="20" y2="6"/><line x1="9" y1="12" x2="20" y2="12"/><line x1="9" y1="18" x2="20" y2="18"/><rect x="3" y="4" width="3" height="3" rx="0.5"/><rect x="3" y="10" width="3" height="3" rx="0.5"/><rect x="3" y="16" width="3" height="3" rx="0.5"/></svg></div> 1511 <div class="ip-tab" title="Habits"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 21c0-9 6-15 16-15 0 10-6 16-15 16"/></svg></div> 1512 <div class="ip-tab" title="Notes"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 3h8l5 5v12a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z"/><polyline points="14 3 14 9 20 9"/></svg></div> 1513 <div class="ip-tab ai" title="AI"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l1.8 4.6L18 9l-4.2 1.6L12 15l-1.8-4.4L6 9l4.2-1.4L12 3z"/></svg></div> 1514 </div> 1515 <div class="iphone-home-indicator" aria-hidden="true"></div> 1516 </div> 1517 </div> 1518 </div> 1519 1520 1521 1522 </div> 1523 <!-- <div class="pre-title">--><!--</div>--> 1524 <!-- <h1 class="title">--><!--</h1>--> 1525 1526 </div> 1527 1528 1529 1530 1531 1532 <div class="section downloads_button" style="display:none;"> 1533 <div class="downloads_button-container"> 1534 <div class="download_button" style="background-image: url(img/appstoredownload.png)"></div> 1535 <div class="download_button" style="background-image: url(img/appstoredownload.png)"></div> 1536 </div> 1537 </div> 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 <!-- ============= FEATURES TABS â v3 redesign ============= --> 1548 <section class="fts-section"> 1549 <div class="fts-wrap"> 1550 <div class="fts-head"> 1551 <span class="fts-eyebrow">Inside Brite</span> 1552 <h2 class="fts-title">Streamline Your To Do List, Habits, Docs, Calendar, and Notes in One App</h2> 1553 <p class="fts-lead">Brite combines all essentials in one app. Plan, check, and streamline effortlessly. Swap app clutter for simple, organized brilliance with Brite!</p> 1554 </div> 1555 1556 <div class="fts-grid"> 1557 <ul class="fts-nav"> 1558 <li class="fts-tab is-active" 1559 data-idx="0" 1560 data-img="img/main-page.webp" 1561 data-title="Optimize Your Week with Brite's App View" 1562 data-desc="View your whole week. All tasks, projects, events, and docs in one spot. Ditch multiple calendar apps for seamless, stress-free planning">
1563 <span class="fts-tab-dot"></span>Schedule view </li> 1564 <li class="fts-tab " 1565 data-idx="1" 1566 data-img="img/features/to_do.png" 1567 data-title="Stay Organized with Brite's To-Do Lists" 1568 data-desc="Quickly craft to-do's, manage tags, and prioritize with Brite. Smart alerts keep you on track"> 1569 <span class="fts-tab-dot"></span>To-do lists </li> 1570 <li class="fts-tab " 1571 data-idx="2" 1572 data-img="img/features/projects.png" 1573 data-title="Effortlessly Manage Projects and Goals" 1574 data-desc="Manage projects using Brite: ideal for personal and work goals. Utilize our kanban board, collaboration tools, and real-time goal tracking"> 1575 <span class="fts-tab-dot"></span>Project management </li> 1576 <li class="fts-tab " 1577 data-idx="3" 1578 data-img="img/features/notes.png" 1579 data-title="Express Yourself with Notes & Docs" 1580 data-desc="Craft notes and docs with Brite's intuitive editor. Share ideas on iPad using slash commands and collaboration tools"> 1581 <span class="fts-tab-dot"></span>Notes & Docs </li> 1582 <li class="fts-tab " 1583 data-idx="4" 1584 data-img="img/features/Calendar.png" 1585 data-title="Seamlessly Plan and Sync Events with Brite's Calendar" 1586 data-desc="Manage schedules with Brite's calendar. Get daily to monthly views, set reminders, and sync with Google, Outlook, and Apple for seamless planning."> 1587 <span class="fts-tab-dot"></span>Calendar and events </li> 1588 <li class="fts-tab " 1589 data-idx="5" 1590 data-img="img/features/habbits.png" 1591 data-title="Develop Better Habits and Improve Your Finances" 1592 data-desc="Pick or design habits with Brite's habit tracker. Monitor expenses and manage your budget effortlessly"> 1593 <span class="fts-tab-dot"></span>Habit tracker </li> 1594 <li class="fts-tab " 1595 data-idx="6" 1596 data-img="img/features/mood_diary.webp" 1597 data-title="Monitor Your Mood and Collaborate with Others" 1598 data-desc="Track daily emotions and uncover mood shifts with Brite's insightful mood diary"> 1599 <span class="fts-tab-dot"></span>Mood diary </li> 1600 </ul> 1601 1602 <div class="fts-stage"> 1603 <div class="fts-card"> 1604 <div class="fts-card-glow"></div> 1605 <img class="fts-img" src="img/main-page.webp" alt="" loading="lazy" decoding="async"> 1606 </div> 1607 <div class="fts-caption"> 1608 <div class="fts-caption-title">Optimize Your Week with Brite's App View</div> 1609 <div class="fts-caption-desc">View your whole week. All tasks, projects, events, and docs in one spot. Ditch multiple calendar apps for seamless, stress-free planning</
1609div> 1610 </div> 1611 </div> 1612 </div> 1613 </div> 1614 </section> 1615 1616 <style> 1617 .fts-section { padding: 96px 0; font-family: 'Inter', -apple-system, system-ui, sans-serif; } 1618 @media (max-width: 720px) { .fts-section { padding: 64px 0; } } 1619 .fts-wrap { max-width: 1200px; margin: 0 auto; padding: 0 28px; } 1620 .fts-head { text-align: center; max-width: 760px; margin: 0 auto 48px; } 1621 .fts-eyebrow { display: inline-block; font-family: 'JetBrains Mono', 'SF Mono', Menlo, monospace; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: #6B3FE0; margin-bottom: 16px; } 1622 .fts-eyebrow::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 999px; background: linear-gradient(135deg, #8E5BFF 0%, #FF7EB6 100%); margin-right: 8px; vertical-align: middle; } 1623 .fts-title { font-family: 'Fraunces', 'Times New Roman', serif; font-size: clamp(28px, 4vw, 44px); font-weight: 700; line-height: 1.1; letter-spacing: -0.025em; color: #0E0E10; margin: 0 0 16px; } 1624 .fts-lead { font-size: 17px; line-height: 1.5; color: #56565E; margin: 0; } 1625 1626 .fts-grid { display: grid; grid-template-columns: 280px 1fr; gap: 40px; align-items: start; } 1627 @media (max-width: 900px) { .fts-grid { grid-template-columns: 1fr; gap: 28px; } } 1628 1629 .fts-nav { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; } 1630 @media (max-width: 900px) { 1631 .fts-nav { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; gap: 8px; padding: 4px 0 12px; scrollbar-width: none; -webkit-overflow-scrolling: touch; } 1632 .fts-nav::-webkit-scrollbar { display: none; } 1633 } 1634 .fts-tab { font-family: 'Fraunces', 'Times New Roman', serif; font-size: 18px; font-weight: 600; letter-spacing: -0.01em; color: #8A8A93; padding: 10px 14px; border-radius: 10px; cursor: pointer; transition: color .25s, background .25s, transform .25s; display: flex; align-items: center; gap: 10px; white-space: nowrap; user-select: none; } 1635 .fts-tab:hover { color: #3A3A40; background: rgba(14,14,16,0.03); } 1636 .fts-tab.is-active { color: #0E0E10; background: #FFFFFF; box-shadow: 0 1px 2px rgba(14,14,16,0.04), 0 0 0 1px rgba(14,14,16,0.06); } 1637 .fts-tab-dot { width: 6px; height: 6px; border-radius: 999px; background: rgba(14,14,16,0.15); transition: all .25s; flex-shrink: 0; } 1638 .fts-tab.is-active .fts-tab-dot { background: linear-gradient(135deg, #8E5BFF 0%, #FF7EB6 100%); box-shadow: 0 0 8px rgba(142,91,255,0.5); transform: scale(1.3); } 1639 @media (max-width: 900px) { .fts-tab { font-size: 14px; padding: 8px 12px; } } 1640 1641 .fts-stage { display: flex; flex-direction: column; gap: 20px; } 1642 .fts-card { position: relative; border-radius: 24px; overflow: hidden; background: linear-gradient(135deg, #F1EBFF 0%, #FAFAF7 50%, #FFE4F0 100%); box-shadow: 0 30px 60px rgba(14,14,16,0.08), 0 0 0 1px rgba(14,14,16,0.05); aspect-ratio: 16 / 10; } 1643 .fts-card-glow { position: absolute; inset: 0; background: radial-gradient(at 20% 20%, rgba(142,91,255,0.18), transparent 55%), radial-gradient(at 85% 80%, rgba(255,126,182,0.18), transparent 55%); pointer-events: none; } 1644 .fts-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 32px; transition: opacity .18s ease, transform .18s ease; will-change: opacity, transform; } 1645 .fts-img.is-fading { opacity: 0; transform: translateY(4px); } 1646 @media (max-width: 720px) { .fts-img { padding: 18px; } } 1647 1648 .fts-caption { padding: 0 4px; } 1649 .fts-caption-title { font-family: 'Fraunces', 'Times New Roman', serif; font-size: 22px; font-weight: 700; letter-spacing: -0.02em; color: #0E0E10; margin-bottom: 8px; transition: opacity .15s; } 1650 .fts-caption-desc { font-size: 15px; line-height: 1.55; color: #56565E; transition: opacity .15s; } 1651 .fts-caption.is-fading .fts-caption-title, .fts-caption.is-fading .fts-caption-desc { opacity: 0; } 1652 </style> 1653 1654
1654<script> 1655 (function(){ 1656 var tabs = document.querySelectorAll('.fts-tab'); 1657 var img = document.querySelector('.fts-img'); 1658 var capTitle = document.querySelector('.fts-caption-title'); 1659 var capDesc = document.querySelector('.fts-caption-desc'); 1660 var caption = document.querySelector('.fts-caption'); 1661 if (!tabs.length || !img) return; 1662 1663 function switchTo(tab){ 1664 if (tab.classList.contains('is-active')) return; 1665 tabs.forEach(function(t){ t.classList.remove('is-active'); }); 1666 tab.classList.add('is-active'); 1667 1668 var newImg = tab.getAttribute('data-img'); 1669 var newTitle = tab.getAttribute('data-title'); 1670 var newDesc = tab.getAttribute('data-desc'); 1671 1672 img.classList.add('is-fading'); 1673 caption.classList.add('is-fading'); 1674 1675 setTimeout(function(){ 1676 var pre = new Image(); 1677 pre.onload = function(){ 1678 img.src = newImg; 1679 capTitle.textContent = newTitle; 1680 capDesc.textContent = newDesc; 1681 requestAnimationFrame(function(){ 1682 img.classList.remove('is-fading'); 1683 caption.classList.remove('is-fading'); 1684 }); 1685 }; 1686 pre.onerror = function(){ 1687 img.src = newImg; 1688 capTitle.textContent = newTitle; 1689 capDesc.textContent = newDesc; 1690 img.classList.remove('is-fading'); 1691 caption.classList.remove('is-fading'); 1692 }; 1693 pre.src = newImg; 1694 }, 130); 1695 } 1696
1697 tabs.forEach(function(tab){ 1698 tab.addEventListener('click', function(){ switchTo(tab); }); 1699 }); 1700 1701 // Auto-rotate every 5s (pause on hover) 1702 var stage = document.querySelector('.fts-grid'); 1703 var idx = 0; 1704 var timer = setInterval(tick, 5000); 1705 function tick(){ 1706 idx = (idx + 1) % tabs.length; 1707 switchTo(tabs[idx]); 1708 } 1709 stage.addEventListener('mouseenter', function(){ clearInterval(timer); }); 1710 stage.addEventListener('mouseleave', function(){ timer = setInterval(tick, 5000); }); 1711 })(); 1712 </script>
1712 1713 1714 <!-- ============= WHY BRITE (Old way vs Brite way) â v3 dark-card ============= --> 1715 <section class="cmp-section" id="why"> 1716 <div class="cmp-wrap"> 1717 <div class="cmp-eyebrow">Why Brite</div> 1718 <h2 class="cmp-title">Why choose Brite as your <em>go-to daily planner?</em></h2> 1719 <p class="cmp-lead">An all-in-one productivity suite â tasks, calendar, habits, and notes already talking to each other.</p> 1720 1721 <div class="cmp-grid"> 1722 <div class="cmp-col cmp-old"> 1723 <div class="cmp-col-head"><span class="cmp-tag">The old way</span></div> 1724 <ul class="cmp-list"> 1725 <li>Feeling overwhelmed by a bunch of different productivity apps. Have to update each separately.</li> 1726 <li>Toggling between todo lists, calendar, and note-taking apps. Wasting time copying info between separate tools.</li> 1727 <li>Spending an evening reading docs and tutorials to set up each personal productivity app.</li> 1728 <li>Three separate subscriptions for tasks, habits, and calendar â paying twice for the same job.</li> 1729 </ul> 1730 </div> 1731 <div class="cmp-col cmp-new"> 1732 <div class="cmp-col-head"><span class="cmp-tag">The Brite way</span></div> 1733 <ul class="cmp-list"> 1734 <li>20+ productivity tools in one versatile app â tasks, habits, calendar, notes, and more.</li> 1735 <li>Save time, focus, and mental energy with a single standard interface across every tool.</li> 1736 <li>Ready-to-go features. No tutorials required â start planning your day in under 60 seconds.</li> 1737 <li>AI assistant drafts your week from a sentence â you edit, never start from a blank page.</li> 1738 </ul> 1739 </div> 1740 </div> 1741 1742 <!-- ============= DEVICE WALL â 6 surfaces ============= --> 1743 <div class="device-wall"> 1744 <div class="device-wall-eyebrow">Works everywhere</div> 1745 <div class="device-wall-title">One account, <em>six surfaces</em>, no friction.</div> 1746 <div class="dw-row"> 1747 <!-- iPhone --> 1748 <div class="dw-cell"> 1749 <div class="dw-frame"> 1750 <div class="mini-iphone"><div class="mini-iphone-screen"> 1751 <div class="mini-line gray short"></div> 1752 <div class="mini-line"></div> 1753 <div class="mini-line med"></div> 1754 <div class="mini-line gray short"></div> 1755 <div class="mini-line gray"></div> 1756 <div class="mini-line gray med"></div> 1757 </div></div> 1758 </div> 1759 <div class="dw-label">iPhone</div> 1760 </div> 1761 <!-- iPad --> 1762 <div class="dw-cell"> 1763 <div class="dw-frame"> 1764 <div class="mini-ipad"><div class="mini-ipad-screen"> 1765 <div class="mini-ipad-sidebar"><span></span><span></span><span></span><span></span></div> 1766 <div class="mini-ipad-content"> 1767 <div class="row brand"></div> 1768 <div class="row short"></div> 1769 <div class="row"></div> 1770 <div class="row short"></div> 1771 <div class="row"></div> 1772 </div> 1773 </div></div> 1774 </div> 1775 <div class="dw-label">iPad</div> 1776 </div> 1777 <!-- Mac --> 1778 <div class="dw-cell"> 1779 <div class="dw-frame"> 1780 <div class="mini-mac-wrap"> 1781 <div class="mini-mac"> 1782 <div class="mini-mac-titlebar">
1783 <span class="mini-mac-dot c"></span> 1784 <span class="mini-mac-dot m"></span> 1785 <span class="mini-mac-dot x"></span> 1786 </div> 1787 <div class="mini-mac-body"> 1788 <div class="mini-mac-side"><span></span><span></span><span></span><span></span></div> 1789 <div class="mini-mac-content"> 1790 <div class="row brand"></div> 1791 <div class="row short"></div> 1792 <div class="row med"></div> 1793 <div class="row short"></div> 1794 </div> 1795 </div> 1796 </div> 1797 <div class="mini-mac-base"></div> 1798 </div> 1799 </div> 1800 <div class="dw-label">Mac</div> 1801 </div> 1802 <!-- Apple Watch --> 1803 <div class="dw-cell"> 1804 <div class="dw-frame"> 1805 <div class="mini-watch-outer"> 1806 <div class="mini-watch"> 1807 <span class="mini-watch-crown"></span> 1808 <span class="mini-watch-side"></span> 1809 <div class="mini-watch-screen"> 1810 <div class="mini-watch-ring"><span class="mini-watch-text">3/4</span></div> 1811 </div> 1812 </div> 1813 </div> 1814 </div> 1815 <div class="dw-label">Apple Watch</div> 1816 </div> 1817 <!-- Android --> 1818 <div class="dw-cell"> 1819 <div class="dw-frame"> 1820 <div class="mini-android"><div class="mini-android-screen"> 1821 <div class="a-line gray short"></div> 1822 <div class="a-line brand"></div> 1823 <div class="a-line med"></div> 1824 <div class="a-line short"></div> 1825 <div class="a-line"></div> 1826 <div class="a-line med"></div> 1827 </div></div> 1828 </div> 1829 <div class="dw-label">Android</div> 1830 </div> 1831 <!-- Web --> 1832 <div class="dw-cell"> 1833 <div class="dw-frame"> 1834 <div class="mini-web"> 1835 <div class="mini-web-bar"> 1836 <div class="mini-web-dots"><span></span><span></span><span></span></div> 1837 <div class="mini-web-controls"><span></span><span></span></div> 1838 <div class="mini-web-url"><span></span></div> 1839 </div> 1840 <div class="mini-web-body"> 1841 <div class="row brand"></div> 1842 <div class="row med"></div> 1843 <div class="row short"></div> 1844 <div class="row"></div> 1845 </div> 1846 </div> 1847 </div> 1848 <div class="dw-label">Web</div> 1849 </div> 1850 </div> 1851 </div> 1852 </div> 1853 </section> 1854 1855 <style> 1856 .cmp-section { background:#F5F1E8; padding:96px 0; font-family:'Inter',-apple-system,system-ui,sans-serif; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); position:relative; } 1857 @media (max-width:720px) { .cmp-section { padding:64px 0; } } 1858 .cmp-wrap { max-width:1200px; margin:0 auto; padding:0 28px; } 1859 .cmp-eyebrow { font-family:'JetBrains Mono','SF Mono',Menlo,monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:#56565E; font-weight:500; display:inline-flex; align-items:center; gap:8px; margin-bottom:16px; } 1860 .cmp-eyebrow::before { content:''; width:6px; height:6px; background:#A8D8C6; border-radius:999px; } 1861 .cmp-title { font-family:'Fraunces','Times New Roman',serif; font-size:clamp(32px,4.5vw,52px); font-weight:700; letter-spacing:-0.03em; line-height:1.1; max-width:22ch; margin:0 0 16px; color:#0E0E10; } 1862 .cmp-title em { font-style:normal; background:linear-gradient(135deg,#8E5BFF 0%,#FF7EB6 100%); -webkit-background-clip:text; background-clip:text; color:transparent; } 1863 .cmp-lead { font-size:18px; line-height:1.5; color:#56565E; max-width:56ch; margin:0 0 56px; } 1864 .cmp-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; } 1865 @media (max-width:720px) { .cmp-grid { grid-template-columns:1fr; gap:18px; } } 1866 .cmp-col { border-radius:24px; padding:40px; opacity:0; transform:translateY(20px); transition:opacity .7s ease,transform .7s ease; } 1867 .cmp-col.is-visible { opacity:1; transform:translateY(0); } 1868 .cmp-col.cmp-new { transition-delay:.12s; } 1869 @media (max-width:720px) { .cmp-col { padding:28px; } } 1870 .cmp-old { background:#FFFFFF; border:1px solid rgba(14,14,16,0.07); } 1871 .cmp-new { background:#0E0E10; color:#fff; position:relative; overflow:hidden; } 1872 .cmp-new::before { content:''; position:absolute; inset:0; background:radial-gradient(at 80% 10%,rgba(142,91,255,0.35),transparent 50%); pointer-events:none; } 1873 .cmp-new > * { position:relative; z-index:1; } 1874 .cmp-col-head { margin-bottom:28px; } 1875 .cmp-tag { font-family:'JetBrains Mono','SF Mono',Menlo,monospace; font-size:10px; letter-spacing:0.08em; text-transform:uppercase; padding:5px 12px; border-radius:999px; font-weight:500; } 1876 .cmp-old .cmp-tag { background:#F1EBFF; color:#56565E; } 1877 .cmp-new .cmp-tag { background:rgba(255,255,255,0.15); color:rgba(255,255,255,0.9); } 1878 .cmp-list { list-style:none; display:flex; flex-direction:column; gap:14px; margin:0; padding:0; } 1879 .cmp-list li { display:flex; gap:14px; font-size:15px; line-height:1.5; } 1880 .cmp-old .cmp-list li { color:#3A3A40; } 1881 .cmp-new .cmp-list li { color:rgba(255,255,255,0.92); } 1882 .cmp-list li::before { content:''; width:20px; height:20px; border-radius:999px; flex-shrink:0; margin-top:1px; } 1883 .cmp-old .cmp-list li::before { background:#F1EBFF url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M3 3l6 6M9 3l-6 6' stroke='%23999' stroke-width='1.5' stroke-linecap='round'/></svg>") center/12px no-repeat; } 1884 .cmp-new .cmp-list li::before { background:linear-gradient(135deg,#8E5BFF 0%,#FF7EB6 100%) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2.5 6l2.5 2.5L9.5 3.5' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'/></svg>") center/12px no-repeat; } 1885 1886 /* ============= DEVICE WALL ============= */ 1887 .device-wall { margin-top:48px; padding:48px 32px 32px; background:#FFFFFF; border-radius:24px; border:1px solid rgba(14,14,16,0.07); position:relative; overflow:hidden; } 1888 .device-wall::before { content:''; position:absolute; inset:0; background:radial-gradient(at 15% 30%,rgba(142,91,255,0.06),transparent 50%),radial-gradient(at 85% 70%,rgba(255,126,182,0.06),transparent 50%); pointer-events:none; } 1889 .device-wall > * { position:relative; z-index:1; } 1890 .device-wall-eyebrow { font-family:'JetBrains Mono','SF Mono',Menlo,monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:#56565E; text-align:center; margin-bottom:16px; display:flex; align-items:center; justify-content:center; gap:16px; } 1891 .device-wall-eyebrow::before, .device-wall-eyebrow::after { content:''; flex:0 0 32px; height:1px; background:rgba(14,14,16,0.12); } 1892 .device-wall-title { font-family:'Fraunces','Times New Roman',serif; font-size:22px; font-weight:700; letter-spacing:-0.025em; text-align:center; margin:0 0 40px; color:#0E0E10; } 1893 .device-wall-title em { font-style:normal; background:linear-gradient(135deg,#8E5BFF 0%,#FF7EB6 100%); -webkit-background-clip:text; background-clip:text; color:transparent; } 1894 .dw-row { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; align-items:end; }
1895 @media (max-width:900px) { .dw-row { grid-template-columns:repeat(3,1fr); gap:32px; } } 1896 @media (max-width:540px) { .dw-row { grid-template-columns:repeat(2,1fr); } } 1897 .dw-cell { display:flex; flex-direction:column; align-items:center; gap:20px; } 1898 .dw-frame { display:flex; align-items:flex-end; justify-content:center; height:160px; width:100%; position:relative; filter:drop-shadow(0 12px 24px rgba(14,14,16,0.10)); transition:transform .35s cubic-bezier(.34,1.56,.64,1); padding-bottom:16px; } 1899 .dw-cell:hover .dw-frame { transform:translateY(-4px); } 1900 .dw-frame > *, .dw-frame > * > * { margin:0 !important; } 1901 .dw-frame .mini-mac-wrap { display:flex; flex-direction:column; align-items:center; } 1902 .dw-label { font-family:'Fraunces','Times New Roman',serif; font-size:13px; font-weight:600; letter-spacing:-0.01em; color:#3A3A40; } 1903 1904 /* iPhone mini */ 1905 .mini-iphone { width:64px; height:138px; background:linear-gradient(135deg,#1A1A1F 0%,#0E0E10 100%); border-radius:12px; padding:2px; position:relative; box-shadow:inset 0 0 0 0.5px rgba(255,255,255,0.08),0 0 0 1px rgba(14,14,16,0.4); } 1906 .mini-iphone::before { content:''; position:absolute; left:-1.5px; top:22%; width:2px; height:18%; background:linear-gradient(to right,#0A0A0C,#2A2A2E); border-radius:1px 0 0 1px; box-shadow:0 22px 0 #0A0A0C,0 32px 0 #0A0A0C; } 1907 .mini-iphone::after { content:''; position:absolute; right:-1.5px; top:28%; width:2px; height:14%; background:linear-gradient(to left,#0A0A0C,#2A2A2E); border-radius:0 1px 1px 0; } 1908 .mini-iphone-screen { background:linear-gradient(180deg,#FAFAF7 0%,#F1EBFF 100%); border-radius:10px; height:100%; padding:13px 4px 8px; display:flex; flex-direction:column; gap:2px; position:relative; overflow:hidden; } 1909 .mini-iphone-screen::before { content:''; position:absolute; top:3px; left:50%; transform:translateX(-50%); width:22px; height:7px; background:#0E0E10; border-radius:4px; z-index:3; } 1910 .mini-iphone-screen::after { content:''; position:absolute; bottom:3px; left:50%; transform:translateX(-50%); width:24px; height:2.5px; background:#0E0E10; border-radius:99px; opacity:0.5; } 1911 .mini-iphone-screen .mini-line { background:linear-gradient(135deg,#8E5BFF 0%,#FF7EB6 100%); height:4px; border-radius:2px; opacity:0.85; } 1912 .mini-iphone-screen .mini-line.short { width:60%; } 1913 .mini-iphone-screen .mini-line.med { width:80%; } 1914 .mini-iphone-screen .mini-line.gray { background:rgba(14,14,16,0.12); opacity:1; } 1915 1916 /* iPad mini */ 1917 .mini-ipad { width:112px; height:84px; background:linear-gradient(135deg,#2A2A2E 0%,#0E0E10 100%); border-radius:8px; padding:5px; position:relative; box-shadow:inset 0 0 0 0.5px rgba(255,255,255,0.08),0 0 0 1px rgba(14,14,16,0.4); } 1918 .mini-ipad::before { content:''; position:absolute; top:1.5px; left:50%; transform:translateX(-50%); width:3px; height:3px; border-radius:50%; background:#0A0A0C; box-shadow:inset 0 0 0 0.5px rgba(255,255,255,0.15); z-index:2; } 1919 .mini-ipad-screen { background:linear-gradient(180deg,#FAFAF7 0%,#F1EBFF 100%); border-radius:4px; height:100%; display:grid; grid-template-columns:24px 1fr; overflow:hidden; position:relative; } 1920 .mini-ipad-screen::after { content:''; position:absolute; bottom:1.5px; left:50%; transform:translateX(-50%); width:24px; height:1.5px; background:#0E0E10; border-radius:99px; opacity:0.4; z-index:2; } 1921 .mini-ipad-sidebar { background:#F3F1EC; padding:4px 2px; display:flex; flex-direction:column; gap:3px; border-right:1px solid rgba(14,14,16,0.05); } 1922 .mini-ipad-sidebar span { height:3px; border-radius:1.5px; background:#8A8A93; opacity:0.5; } 1923 .mini-ipad-sidebar span:first-child { background:#8E5BFF; opacity:1; } 1924 .mini-ipad-content { padding:5px 4px; display:flex; flex-direction:column; gap:2.5px; } 1925 .mini-ipad-content .row { height:5px; background:#F1EBFF; border-radius:2px; } 1926 .mini-ipad-content .row.brand { background:linear-gradient(135deg,#8E5BFF 0%,#FF7EB6 100%); height:6px; } 1927 .mini-ipad-content .row.short { width:60%; } 1928 1929 /* Mac mini */ 1930 .mini-mac-wrap { display:flex; flex-direction:column; align-items:center; gap:0; } 1931 .mini-mac { width:124px; height:78px; background:#FFFFFF; border-radius:6px 6px 2px 2px; position:relative; box-shadow:inset 0 0 0 0.5px rgba(14,14,16,0.1),0 0 0 2px #1A1A1F,0 0 0 3px rgba(14,14,16,0.2); overflow:hidden; } 1932 .mini-mac-titlebar { height:12px; background:linear-gradient(to bottom,#F6F5F2,#ECEAE6); display:flex; align-items:center; padding:0 5px; gap:3px; border-bottom:1px solid rgba(14,14,16,0.06); } 1933 .mini-mac-dot { width:5px; height:5px; border-radius:50%; } 1934 .mini-mac-dot.c { background:#FF5F57; } 1935 .mini-mac-dot.m { background:#FEBC2E; } 1936 .mini-mac-dot.x { background:#28C840; } 1937 .mini-mac-body { display:grid; grid-template-columns:30px 1fr; height:calc(100% - 12px); } 1938 .mini-mac-side { background:#F8F7F4; padding:4px 3px; display:flex; flex-direction:column; gap:3px; border-right:1px solid rgba(14,14,16,0.05); } 1939 .mini-mac-side span { height:3px; border-radius:1.5px; background:#8A8A93; opacity:0.5; } 1940 .mini-mac-side span:first-child { background:#8E5BFF; opacity:1; } 1941 .mini-mac-content { padding:5px; display:flex; flex-direction:column; gap:3px; } 1942 .mini-mac-content .row { height:5px; background:#F1EBFF; border-radius:2px; } 1943 .mini-mac-content .row.brand { background:linear-gradient(135deg,#8E5BFF 0%,#FF7EB6 100%); } 1944 .mini-mac-content .row.short { width:50%; } 1945 .mini-mac-content .row.med { width:75%; } 1946 .mini-mac-base { width:132px; height:4px; background:linear-gradient(to bottom,#C8C8CC 0%,#9A9A9F 100%); border-radius:0 0 8px 8px; margin:1px auto 0; position:relative; box-shadow:inset 0 1px 0 rgba(255,255,255,0.4),0 1px 2px rgba(0,0,0,0.08); } 1947 .mini-mac-base::before { content:''; position:absolute; left:50%; transform:translateX(-50%); top:0; width:32px; height:1px; background:rgba(14,14,16,0.15); border-radius:99px; } 1948 1949 /* Apple Watch mini */ 1950 .mini-watch-outer { position:relative; width:64px; height:106px; display:flex; align-items:center; justify-content:center; } 1951 .mini-watch { width:64px; height:78px; background:linear-gradient(135deg,#2A2A2E 0%,#0E0E10 60%,#1A1A1F 100%); border-radius:16px; padding:4px; position:relative; box-shadow:inset 0 0 0 0.5px rgba(255,255,255,0.1),0 0 0 1px rgba(14,14,16,0.4); } 1952 .mini-watch::before { content:''; position:absolute; left:50%; transform:translateX(-50%); top:-14px; width:36px; height:16px; background:linear-gradient(180deg,#6B3FE0 0%,#8E5BFF 100%); border-radius:4px 4px 1px 1px; box-shadow:inset 0 -2px 4px rgba(0,0,0,0.2); } 1953 .mini-watch::after { content:''; position:absolute; left:50%; transform:translateX(-50%); bottom:-14px; width:36px; height:16px; background:linear-gradient(0deg,#6B3FE0 0%,#8E5BFF 100%); border-radius:1px 1px 4px 4px; box-shadow:inset 0 2px 4px rgba(0,0,0,0.2); } 1954 .mini-watch-crown { position:absolute; right:-2.5px; top:24%; width:3.5px; height:10px; background:linear-gradient(to right,#BFBFC4 0%,#8A8A92 50%,#4A4A4F 100%); border-radius:1px 1.5px 1.5px 1px; box-shadow:0 0 0 0.5px rgba(0,0,0,0.3); } 1955 .mini-watch-side { position:absolute; right:-1.5px; top:48%; width:2px; height:12px; background:linear-gradient(to left,#2A2A2E,#0E0E10); border-radius:0 1px 1px 0; } 1956 .mini-watch-screen { background:radial-gradient(at 50% 50%,#0E0E10 0%,#000 100%); border-radius:10px; height:100%; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; } 1957 .mini-watch-screen::before { content:'12'; position:absolute; top:2px; left:50%; transform:translateX(-50%); font-family:'JetBrains Mono','SF Mono',Menlo,monospace; font-size:5px; color:rgba(255,255,255,0.4); font-weight:600; } 1958 .mini-watch-ring { width:38px; height:38px; border-radius:50%; background:conic-gradient(from -90deg,#8E5BFF 0deg,#FF7EB6 280deg,rgba(255,255,255,0.08) 280deg,rgba(255,255,255,0.08) 360deg); display:flex; align-items:center; justify-content:center; box-shadow:inset 0 0 4px rgba(142,91,255,0.4),0 0 8px rgba(142,91,255,0.2); position:relative; } 1959 .mini-watch-ring::before { content:''; position:absolute; width:28px; height:28px; border-radius:50%; background:#0A0A0C; } 1960 .mini-watch-text { position:relative; font-family:'Fraunces','Times New Roman',serif; font-size:9px; font-weight:800; color:#fff; letter-spacing:-0.02em; z-index:1; } 1961 1962 /* Android mini */ 1963 .mini-android { width:64px; height:138px; background:linear-gradient(135deg,#3A3A3F 0%,#1A1A1F 100%); border-radius:9px; padding:2px; position:relative; box-shadow:inset 0 0 0 0.5px rgba(255,255,255,0.06),0 0 0 1px rgba(14,14,16,0.4); } 1964 .mini-android::before { content:''; position:absolute; right:-1.5px; top:22%; width:2px; height:16%; background:linear-gradient(to left,#0A0A0C,#2A2A2E); border-radius:0 1px 1px 0; box-shadow:0 18px 0 #0A0A0C; } 1965 .mini-android::after { content:''; position:absolute; left:-1.5px; top:30%; width:2px; height:22%; background:linear-gradient(to right,#0A0A0C,#2A2A2E); border-radius:1px 0 0 1px; } 1966 .mini-android-screen { background:linear-gradient(180deg,#FAFAF7 0%,#FFD6E7 100%); border-radius:7px; height:100%; position:relative; padding:14px 4px 9px; display:flex; flex-direction:column; gap:2px; overflow:hidden; } 1967 .mini-android-screen::before { content:''; position:absolute; top:4px; left:8px; width:4px; height:4px; border-radius:50%; background:#0A0A0C; box-shadow:inset 0 0 0 0.5px rgba(255,255,255,0.1); } 1968 .mini-android-screen::after { content:'\25C0 \25CF \25A0'; position:absolute; bottom:2px; left:0; right:0; text-align:center; font-size:4px; color:#56565E; letter-spacing:2px; opacity:0.4; } 1969 .mini-android-screen .a-line { background:rgba(14,14,16,0.12); height:4px; border-radius:2px; } 1970 .mini-android-screen .a-line.brand { background:linear-gradient(135deg,#8E5BFF 0%,#FF7EB6 100%); } 1971 .mini-android-screen .a-line.short { width:60%; } 1972 .mini-android-screen .a-line.med { width:80%; } 1973 1974 /* Web mini */ 1975 .mini-web { width:124px; height:84px; background:#FFFFFF; border-radius:8px; position:relative; box-shadow:inset 0 0 0 0.5px rgba(14,14,16,0.08),0 0 0 1px rgba(14,14,16,0.12); overflow:hidden; } 1976 .mini-web-bar { height:16px; background:linear-gradient(to bottom,#F8F7F4,#ECEAE6); border-bottom:1px solid rgba(14,14,16,0.08); display:flex; align-items:center; padding:0 5px; gap:4px; } 1977 .mini-web-dots { display:flex; gap:2px; } 1978 .mini-web-dots span { width:4.5px; height:4.5px; border-radius:50%; } 1979 .mini-web-dots span:nth-child(1) { background:#FF5F57; } 1980 .mini-web-dots span:nth-child(2) { background:#FEBC2E; } 1981 .mini-web-dots span:nth-child(3) { background:#28C840; }
1982 .mini-web-controls { display:flex; gap:1px; margin-left:1px; } 1983 .mini-web-controls span { width:4px; height:4px; border:0.7px solid #8A8A93; border-radius:1px; opacity:0.4; } 1984 .mini-web-url { flex:1; height:7px; background:#FFFFFF; border:1px solid rgba(14,14,16,0.12); border-radius:3px; padding:0 4px; display:flex; align-items:center; gap:3px; } 1985 .mini-web-url span { display:inline-block; height:2.5px; background:#8A8A93; border-radius:1px; opacity:0.6; width:40%; } 1986 .mini-web-url::before { content:''; width:3px; height:3px; border-radius:50%; background:#28C840; flex-shrink:0; } 1987 .mini-web-body { padding:4px; display:flex; flex-direction:column; gap:2px; height:calc(100% - 16px); } 1988 .mini-web-body .row { height:4px; background:#F1EBFF; border-radius:2px; } 1989 .mini-web-body .row.brand { background:linear-gradient(135deg,#8E5BFF 0%,#FF7EB6 100%); } 1990 .mini-web-body .row.short { width:55%; } 1991 .mini-web-body .row.med { width:75%; } 1992 </style> 1993 1994
1994<script> 1995 (function(){ 1996 var cols = document.querySelectorAll('.cmp-col'); 1997 if (!cols.length || !('IntersectionObserver' in window)) { 1998 cols.forEach(function(c){ c.classList.add('is-visible'); }); 1999 return; 2000 } 2001 var io = new IntersectionObserver(function(entries){ 2002 entries.forEach(function(e){ 2003 if (e.isIntersecting) { e.target.classList.add('is-visible'); io.unobserve(e.target); } 2004 }); 2005 }, { threshold:0.15 }); 2006 cols.forEach(function(c){ io.observe(c); }); 2007 })(); 2008 </script>
2008 2009 2010 2011 2012 2013<style> 2014/* ============================================================ 2015 FEATURES GRID (.fg-*) â isolated namespace, inlined upfront 2016 ============================================================ */ 2017.fg-section { max-width: 1200px; margin: 0 auto; padding: 60px 28px 40px; font-family: 'Inter', -apple-system, system-ui, sans-serif; } 2018.fg-section .fg-eyebrow { display: inline-block; background: linear-gradient(135deg, #F1EBFF, #FFD6E7); color: #6B3FD4; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 6px 14px; border-radius: 999px; margin-bottom: 18px; } 2019.fg-section .fg-h2 { font-family: 'Fraunces', 'Times New Roman', serif; font-size: clamp(36px, 5vw, 56px); font-weight: 600; line-height: 1.05; letter-spacing: -0.025em; margin: 0 0 16px; max-width: 720px; color: #0E0E10; } 2020.fg-section .fg-lead { font-size: 18px; line-height: 1.55; color: #56565E; max-width: 620px; margin: 0 0 48px; } 2021.fg-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; grid-auto-rows: 85px !important; grid-auto-flow: dense !important; gap: 20px !important; } 2022@media (max-width: 1024px) { .fg-grid { grid-template-columns: repeat(3, 1fr) !important; grid-auto-rows: 85px !important; } } 2023@media (max-width: 720px) { .fg-grid { grid-template-columns: repeat(2, 1fr) !important; grid-auto-rows: 80px !important; gap: 14px !important; } } 2024@media (max-width: 460px) { .fg-grid { grid-template-columns: 1fr !important; grid-auto-rows: 72px !important; } } 2025.fg-tile { background: #fff; border-radius: 28px; padding: 24px; box-shadow: 0 1px 2px rgba(14,14,16,0.04), 0 0 0 1px rgba(14,14,16,0.04); overflow: hidden; position: relative; transition: transform .25s cubic-bezier(.4,0,.2,1), box-shadow .25s; display: flex !important; flex-direction: column !important; gap: 12px; } 2026.fg-tile:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(14,14,16,0.10), 0 0 0 1px rgba(14,14,16,0.05); } 2027.fg-s-2x2 { grid-column: span 2 !important; grid-row: span 3 !important; } 2028.fg-s-2x1 { grid-column: span 2 !important; grid-row: span 2 !important; } 2029.fg-s-1x2 { grid-column: span 1 !important; grid-row: span 3 !important; } 2030.fg-s-1x1 { grid-column: span 1 !important; grid-row: span 2 !important; } 2031.fg-s-4x1 { grid-column: span 4 !important; grid-row: span 2 !important; } 2032@media (max-width: 1024px) { .fg-s-4x1 { grid-column: span 3 !important; } } 2033@media (max-width: 720px) { .fg-s-4x1 { grid-column: span 2 !important; } } 2034@media (max-width: 460px) { .fg-s-2x2, .fg-s-2x1, .fg-s-1x2, .fg-s-1x1, .fg-s-4x1 { grid-column: span 1 !important; grid-row: span 3 !important; } } 2035.fg-t-plum { background: linear-gradient(155deg, #F1EBFF 0%, #E5DBFF 100%); } 2036.fg-t-pink { background: linear-gradient(155deg, #FFE5F0 0%, #FFD0E2 100%); } 2037.fg-t-mint { background: linear-gradient(155deg, #DCF5E5 0%, #C2EDD3 100%); } 2038.fg-t-sky { background: linear-gradient(155deg, #E0F2FB 0%, #C8E1F5 100%); } 2039.fg-t-sand { background: linear-gradient(155deg, #FFF1DC 0%, #FFE0BC 100%); } 2040.fg-t-cream { background: linear-gradient(155deg, #FFF8E7 0%, #FFEEC5 100%); } 2041.fg-t-coral { background: linear-gradient(155deg, #FFE0D6 0%, #FFC8B6 100%); } 2042.fg-t-lilac { background: linear-gradient(155deg, #EDE4FF 0%, #D8C5FF 100%); } 2043.fg-t-paper { background: #FAF6EF; } 2044.fg-t-rose { background: linear-gradient(155deg, #FFEEF0 0%, #FFD8DD 100%); } 2045.fg-t-leaf { background: linear-gradient(155deg, #E8F3DF 0%, #CFE8BD 100%); } 2046.fg-t-sun { background: linear-gradient(155deg, #FFF4CC 0%, #FFE388 100%); } 2047.fg-eyebrow-small { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #8A8A93; display: inline-flex; align-items: center; gap: 6px; } 2048.fg-eyebrow-small::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.5; } 2049.fg-tile h3 { font-family: 'Fraunces', 'Times New Roman', serif; font-size: 22px; font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; margin: 0; color: #0E0E10; } 2050.fg-s-2x2 h3 { font-size: 30px; } 2051.fg-s-1x1 h3 { font-size: 17px; } 2052.fg-tile p { font-size: 14px; line-height: 1.5; color: #56565E; margin: 0; } 2053.fg-s-2x2 p { font-size: 16px; } 2054.fg-mockup { margin-top: auto; pointer-events: none; position: relative; } 2055/* mockups */ 2056.m-day { background:#fff; border-radius:14px; padding:14px 16px; box-shadow:0 2px 8px rgba(14,14,16,0.06); font-size:13px; } 2057.m-day-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; } 2058.m-day-fire { color:#FF7A3D; font-size:12px; font-weight:600; } 2059.m-day-row { display:flex; align-items:center; gap:8px; padding:6px 0; border-top:1px solid rgba(14,14,16,0.06); font-size:13px; } 2060.m-day-row:first-of-type { border-top:0; } 2061.m-day-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; } 2062.m-day-row.done { color:#8A8A93; text-decoration:line-through; } 2063.m-day-row.done .m-day-dot { background:#8E5BFF; } 2064.m-day-row.open .m-day-dot { background:#E0E0E6; border:1.5px solid #C0C0C8; box-sizing:border-box; } 2065.m-day-pills { display:flex; gap:6px; margin-top:10px; flex-wrap:wrap; } 2066.m-day-pill { background:#F1EBFF; color:#6B3FD4; padding:3px 8px; border-radius:999px; font-size:11px; font-weight:600; } 2067.m-day-pill.b { background:#DCF5E5; color:#2D7A52; } 2068.m-day-pill.c { background:#FFE5F0; color:#C04275; } 2069.m-work { background:#fff; border-radius:12px; padding:12px; font-size:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2070.m-work-head { font-size:11px; font-weight:700; color:#2D7A52; margin-bottom:8px; letter-spacing:0.04em; text-transform:uppercase; } 2071.m-work-item { display:flex; align-items:center; gap:8px; padding:5px 0; } 2072.m-work-check { width:14px; height:14px; border-radius:4px; border:1.5px solid #C0C0C8; flex-shrink:0; box-sizing:border-box; position:relative; } 2073.m-work-check.ok { background:#4AA086; border-color:#4AA086; } 2074.m-work-check.ok::after { content:'â'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:10px; font-weight:700; line-height:1; } 2075.m-work-badge { margin-left:auto; padding:2px 7px; border-radius:4px; font-size:10px; font-weight:600; } 2076.m-work-badge.imp { background:#FF6B6B; color:#fff; } 2077.m-work-badge.h { background:#4A90E2; color:#fff; } 2078.m-habit-wrap { background:#fff; border-radius:12px; padding:14px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2079.m-habit-streak { display:flex; align-items:center; gap:6px; font-size:11px; font-weight:700; color:#2D7A52; margin-bottom:8px; } 2080.m-habit { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; } 2081.m-habit .c { aspect-ratio:1; border-radius:4px; background:#EFF3F0; } 2082.m-habit .c.l1 { background:#B6E0C2; } 2083.m-habit .c.l2 { background:#7BC498; } 2084.m-habit .c.l3 { background:#4AA086; } 2085.m-cal { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2086.m-cal-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; font-size:12px; font-weight:600; } 2087.m-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; font-size:10px; text-align:center; color:#56565E; } 2088.m-cal-grid .d { padding:4px 0; border-radius:4px; } 2089.m-cal-grid .d.cur { background:#FF4D8F; color:#fff; font-weight:700; } 2090.m-cal-grid .d.ev { background:#FFE5F0; color:#C04275; font-weight:600; } 2091.m-proj { display:flex; gap:6px; height:100%; } 2092.m-proj-col { flex:1; background:rgba(255,255,255,0.7); border-radius:8px; padding:8px; } 2093.m-proj-col-h { font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:#8A8A93; margin-bottom:6px; } 2094.m-proj-card { background:#fff; border-radius:5px; padding:5px 7px; font-size:10px; margin-bottom:4px; box-shadow:0 1px 2px rgba(0,0,0,0.05); } 2095.m-proj-wide { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; } 2096.m-proj-wide .m-proj-col { background:rgba(255,255,255,0.6); border-radius:10px; padding:12px; } 2097.m-proj-wide .m-proj-col-h { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:#56565E; margin-bottom:8px; } 2098.m-proj-wide .m-proj-card { background:#fff; border-radius:6px; padding:7px 10px; font-size:12px; margin-bottom:6px; box-shadow:0 1px 3px rgba(0,0,0,0.06); } 2099.m-proj-wide .m-proj-card.hi { border-left:3px solid #8E5BFF; font-weight:600; } 2100.m-proj-wide .m-proj-card.done { color:#8A8A93; text-decoration:line-through; background:rgba(255,255,255,0.5); } 2101@media (max-width: 720px) { .m-proj-wide { grid-template-columns:1fr 1fr; } } 2102.m-goal { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); font-size:12px; } 2103.m-goal-row { margin-bottom:8px; } 2104.m-goal-row:last-child { margin-bottom:0; } 2105.m-goal-label { display:flex; justify-content:space-between; font-size:11px; margin-bottom:4px; font-weight:500; } 2106.m-goal-label span:last-child { color:#8A8A93; } 2107.m-goal-bar { height:6px; border-radius:3px; background:#F0F0F4; overflow:hidden; } 2108.m-goal-bar .fill { height:100%; border-radius:3px; } 2109.m-focus-ring { width:90px; height:90px; border-radius:50%; background:conic-gradient(#8E5BFF 0deg 240deg, rgba(255,255,255,0.5) 240deg); position:relative; } 2110.m-focus-ring::after { content:''; position:absolute; inset:8px; background:#fff; border-radius:50%; } 2111.m-focus-time { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:20px; font-weight:700; color:#0E0E10; z-index:1; } 2112.m-mood { display:flex; gap:10px; justify-content:space-around; padding:10px; background:#fff; border-radius:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2113.m-mood-day { display:flex; flex-direction:column; align-items:center; gap:5px; font-size:10px; color:#8A8A93; } 2114.m-mood-emoji { font-size:22px; } 2115.m-budget { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); font-size:12px; } 2116.m-budget-total { font-family:'Fraunces',serif; font-size:26px; font-weight:700; } 2117.m-budget-sub { font-size:11px; color:#8A8A93; margin-bottom:8px; } 2118.m-budget-bar { display:flex; height:8px; border-radius:4px; overflow:hidden; margin-bottom:6px; } 2119.m-budget-bar div { height:100%; } 2120.m-budget-legend { display:flex; flex-wrap:wrap; gap:8px; font-size:10px; } 2121.m-budget-legend span { display:inline-flex; align-items:center; gap:4px; color:#56565E; } 2122.m-budget-legend span::before { content:''; width:8px; height:8px; border-radius:2px; background:currentColor; } 2123.m-note { background:#FFF8E7; border-radius:12px; padding:12px 14px; box-shadow:0 2px 8px rgba(14,14,16,0.06); border-left:3px solid #FFC857; } 2124.m-note-title { font-weight:600; font-size:13px; margin-bottom:6px; display:flex; align-items:center; gap:6px; } 2125.m-note-line { height:5px; background:rgba(14,14,16,0.08); border-radius:3px; margin-bottom:5px; } 2126.m-note-line:nth-child(3) { width:80%; } 2127.m-note-line:nth-child(4) { width:60%; } 2128.m-note-tags { display:flex; gap:4px; margin-top:8px; } 2129.m-note-tag { font-size:9px; background:rgba(14,14,16,0.06); padding:2px 6px; border-radius:4px; color:#56565E; font-weight:600; } 2130.m-rems { display:flex; flex-direction:column; gap:6px; } 2131.m-rem { background:#fff; border-radius:12px; padding:10px 12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); display:flex; align-items:center; gap:10px; font-size:12px; } 2132.m-rem-bell { width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,#FF7EB6,#FF4D8F); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#fff; } 2133.m-rem-info strong { display:block; font-weight:600; margin-bottom:2px; } 2134.m-rem-info span { color:#8A8A93; font-size:11px; } 2135.m-themes { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; } 2136.m-themes div { aspect-ratio:1.2; border-radius:8px; box-shadow:0 2px 6px rgba(14,14,16,0.08); } 2137.m-themes div:nth-child(1) { background:linear-gradient(135deg,#FF6B9D,#C36ADC); } 2138.m-themes div:nth-child(2) { background:linear-gradient(135deg,#4AA086,#6BB89F); } 2139.m-themes div:nth-child(3) { background:linear-gradient(135deg,#FFB67E,#FF7A3D); } 2140.m-themes div:nth-child(4) { background:linear-gradient(135deg,#0E0E10,#2A2A2E); } 2141.m-themes div:nth-child(5) { background:linear-gradient(135deg,#8E5BFF,#6B3FD4); } 2142.m-themes div:nth-child(6) { background:linear-gradient(135deg,#FFE388,#FFC857); } 2143.m-idea { background:#FFF8E7; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); position:relative; } 2144.m-idea-bulb { font-size:22px; margin-bottom:4px; } 2145.m-idea-text { font-size:12px; line-height:1.35; color:#2A2A2E; margin-bottom:6px; } 2146.m-idea-tags { display:flex; gap:4px; } 2147.m-idea-tags span { font-size:9px; background:rgba(14,14,16,0.06); padding:2px 6px; border-radius:4px; color:#56565E; font-weight:600; } 2148.m-photo-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:4px; border-radius:10px; overflow:hidden; aspect-ratio:1.6; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2149.m-photo-grid div { width:100%; height:100%; } 2150.m-md { background:#fff; border-radius:12px; padding:10px 12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); font-family:'JetBrains Mono', ui-monospace, monospace; font-size:11px; } 2151.m-md-toolbar { display:flex; gap:8px; padding-bottom:6px; border-bottom:1px solid rgba(14,14,16,0.08); margin-bottom:8px; color:#8A8A93; font-size:11px; font-family:'Inter',sans-serif; } 2152.m-md-h { font-size:14px; font-weight:700; color:#0E0E10; margin-bottom:6px; } 2153.m-md-l { height:5px; background:rgba(14,14,16,0.08); border-radius:3px; margin-bottom:5px; } 2154.m-md-c { color:#6B3FD4; font-size:11px; margin-top:6px; } 2155.m-event { background:#fff; border-radius:12px; padding:10px; box-shadow:0 2px 8px rgba(14,14,16,0.06); display:flex; gap:10px; align-items:center; font-size:12px; } 2156.m-event-date { text-align:center; background:linear-gradient(135deg,#FFD6E7,#FF7EB6); color:#fff; border-radius:8px; padding:4px 8px; min-width:36px; } 2157.m-event-date span { display:block; font-family:'Fraunces',serif; font-size:18px; font-weight:700; line-height:1; } 2158.m-event-date b { display:block; font-size:9px; letter-spacing:0.1em; } 2159.m-event-info strong { display:block; font-weight:600; } 2160.m-event-info span { color:#8A8A93; font-size:11px; } 2161.m-priority { background:#fff; border-radius:12px; padding:10px 12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); font-size:11px; } 2162.m-pri-row { display:flex; align-items:center; gap:8px; padding:4px 0; } 2163.m-pri-flag { width:8px; height:8px; border-radius:50%; flex-shrink:0; } 2164.m-pri-flag.h { background:#FF4D6D; } 2165.m-pri-flag.m { background:#FFB347; } 2166.m-pri-flag.l { background:#7AC79A; } 2167.m-pri-tag { margin-left:auto; padding:2px 6px; border-radius:4px; font-size:9px; font-weight:700; background:#FFE5E9; color:#C0354B; } 2168.m-pri-tag.m { background:#FFF2D9; color:#B8742A; } 2169.m-pri-tag.l { background:#E0F5E8; color:#3A8358; } 2170.m-diff { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); text-align:center; font-size:12px; } 2171.m-diff-task { font-weight:600; margin-bottom:6px; } 2172.m-diff-stars { font-size:16px; color:#FFC857; letter-spacing:2px; margin-bottom:4px; } 2173.m-diff-stars .on { color:#FF7A3D; } 2174.m-diff-stars span:not(.on) { color:#E0E0E6; } 2175.m-diff-label { font-size:11px; color:#8A8A93; font-weight:600; } 2176.m-timer { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); text-align:center; } 2177.m-timer-disp { font-family:'Fraunces',serif; font-size:24px; font-weight:700; } 2178.m-timer-bar { height:5px; border-radius:3px; background:#F0F0F4; overflow:hidden; margin:6px 0; } 2179.m-timer-bar .fill { height:100%; background:linear-gradient(90deg,#8E5BFF,#FF7EB6); } 2180.m-timer-label { font-size:11px; color:#8A8A93; } 2181.m-weather { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); text-align:center; } 2182.m-weather-icon { font-size:32px; } 2183.m-weather-temp { font-family:'Fraunces',serif; font-size:24px; font-weight:700; } 2184.m-weather-loc { font-size:11px; color:#8A8A93; } 2185.m-sync { background:#fff; border-radius:12px; padding:10px 12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); font-size:11px; } 2186.m-sync-row { display:flex; align-items:center; gap:6px; padding:4px 0; } 2187.m-sync-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; } 2188.m-sync-dot.g { background:#4285F4; } 2189.m-sync-dot.a { background:#0E0E10; } 2190.m-sync-dot.o { ba
2190ckground:#0078D4; } 2191.m-sync-ok { margin-left:auto; color:#4AA086; font-weight:700; } 2192.m-filters { display:flex; flex-wrap:wrap; gap:6px; padding:10px; background:#fff; border-radius:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2193.m-filter-chip { font-size:11px; padding:4px 10px; border-radius:999px; background:#F0F0F4; color:#56565E; font-weight:600; } 2194.m-filter-chip.on { background:#F1EBFF; color:#6B3FD4; } 2195.m-mobile { display:flex; justify-content:center; } 2196.m-phone { width:50px; height:80px; background:#0E0E10; border-radius:9px; padding:4px; box-shadow:0 4px 12px rgba(14,14,16,0.2); } 2197.m-phone-screen { background:#fff; height:100%; border-radius:5px; padding:6px 4px; display:flex; flex-direction:column; gap:3px; } 2198.m-phone-bar { height:4px; background:linear-gradient(90deg,#8E5BFF,#FF7EB6); border-radius:2px; } 2199.m-collab { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); font-size:12px; } 2200.m-collab-avatars { display:flex; margin-bottom:8px; } 2201.m-collab-avatars .av { width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:10px; font-weight:700; margin-left:-6px; box-shadow:0 0 0 2px #fff; } 2202.m-collab-avatars .av:first-child { margin-left:0; } 2203.av.av1 { background:linear-gradient(135deg,#8E5BFF,#6B3FD4); } 2204.av.av2 { background:linear-gradient(135deg,#FF7EB6,#FF4D8F); } 2205.av.av3 { background:linear-gradient(135deg,#4AA086,#2D7A52); } 2206.av.av4 { background:linear-gradient(135deg,#FFC857,#FF7A3D); font-size:9px; } 2207.m-collab-msg { font-size:12px; color:#2A2A2E; line-height:1.3; } 2208.m-collab-time { font-size:10px; color:#8A8A93; margin-top:4px; } 2209.m-files { display:flex; flex-direction:column; gap:6px; } 2210.m-file { background:#fff; border-radius:8px; padding:6px 10px; font-size:11px; display:flex; align-items:center; gap:8px; box-shadow:0 2px 6px rgba(14,14,16,0.06); } 2211.m-file .ft { font-size:9px; font-weight:700; padding:2px 6px; border-radius:3px; color:#fff; } 2212.m-file .ft.pdf { background:#E54848; } 2213.m-file .ft.img { background:#4AA086; } 2214.m-share { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2215.m-share-link { font-family:'JetBrains Mono', ui-monospace, monospace; font-size:11px; color:#6B3FD4; word-break:break-all; padding:6px 8px; background:#F1EBFF; border-radius:6px; } 2216.m-share-stats { font-size:11px; color:#8A8A93; margin-top:6px; } 2217.m-med { display:flex; flex-direction:column; align-items:center; gap:6px; } 2218.m-med-orb { width:60px; height:60px; border-radius:50%; background:radial-gradient(circle at 35% 30%, #fff, #C2EDD3 40%, #4AA086 100%); animation: m-med-breathe 4s ease-in-out infinite; box-shadow:0 4px 18px rgba(74,160,134,0.4); flex-shrink:0; } 2219@keyframes m-med-breathe { 0%,100%{transform:scale(0.9)} 50%{transform:scale(1.05)} } 2220.m-med-label { font-size:11px; color:#2D7A52; font-weight:600; } 2221/* Meditation v2 â wide */ 2222.m-med2 { display:flex; align-items:center; gap:14px; background:#fff; border-radius:12px; padding:12px 14px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2223.m-med2-info { flex:1; min-width:0; } 2224.m-med2-title { font-family:'Fraunces',serif; font-size:16px; font-weight:600; margin-bottom:2px; color:#2D7A52; } 2225.m-med2-sub { font-size:11px; color:#8A8A93; margin-bottom:8px; } 2226.m-med2-progress { height:4px; border-radius:2px; background:#E8F0EB; overflow:hidden; } 2227.m-med2-progress .fill { height:100%; background:linear-gradient(90deg,#6BB89F,#4AA086); } 2228/* Sharing v2 */ 2229.m-share2 { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); display:flex; flex-direction:column; gap:8px; } 2230.m-share2-link { display:flex; align-items:center; gap:8px; background:#F1EBFF; border-radius:8px; padding:6px 8px; } 2231.m-share2-icon { font-size:13px; } 2232.m-share2-url { flex:1; font-family:'JetBrains Mono', ui-monospace, monospace; font-size:11px; color:#6B3FD4; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } 2233.m-share2-copy { font-size:10px; font-weight:700; color:#fff; background:linear-gradient(135deg,#8E5BFF,#6B3FD4); padding:3px 8px; border-radius:5px; text-transform:uppercase; letter-spacing:0.04em; } 2234.m-share2-row { display:flex; gap:10px; flex-wrap:wrap; font-size:11px; color:#56565E; } 2235.m-share2-stat { display:inline-flex; align-items:center; gap:3px; } 2236.m-share2-stat b { color:#0E0E10; font-weight:700; } 2237/* ----- v2 mockup polish ----- */ 2238/* Weather v2 */ 2239.m-weather { background:#fff; border-radius:12px; padding:14px; box-shadow:0 2px 8px rgba(14,14,16,0.06); text-align:left; } 2240.m-weather-top { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:10px; } 2241.m-weather-now { display:flex; align-items:center; gap:10px; } 2242.m-weather-icon { font-size:32px; } 2243.m-weather-temp { font-family:'Fraunces',serif; font-size:28px; font-weight:700; line-height:1; } 2244.m-weather-loc { font-size:11px; color:#8A8A93; } 2245.m-weather-hi-lo { font-size:10px; color:#56565E; font-weight:600; } 2246.m-weather-week { display:grid; grid-template-columns:repeat(5,1fr); gap:4px; } 2247.m-weather-day { display:flex; flex-direction:column; align-items:center; gap:3px; padding:6px 2px; background:#F6FAFD; border-radius:6px; font-size:10px; } 2248.m-weather-day span { color:#8A8A93; font-weight:600; } 2249.m-weather-day .ic { font-size:14px; } 2250.m-weather-day b { font-size:11px; font-weight:700; color:#0E0E10; } 2251/* Mobile v2 â real phone with UI */ 2252.m-mobile2 { display:flex; justify-content:center; align-items:flex-end; } 2253.m-phone2 { width:120px; aspect-ratio:0.48; background:linear-gradient(180deg,#1C1C1E,#0E0E10); border-radius:18px; padding:5px; box-shadow:0 8px 24px rgba(14,14,16,0.25), inset 0 0 0 2px rgba(255,255,255,0.05); position:relative; } 2254.m-phone2-notch { position:absolute; top:8px; left:50%; transform:translateX(-50%); width:36px; height:8px; background:#0E0E10; border-radius:5px; z-index:2; } 2255.m-phone2-screen { background:linear-gradient(180deg,#F8F4FF,#fff); height:100%; border-radius:13px; padding:18px 8px 8px; display:flex; flex-direction:column; gap:5px; overflow:hidden; } 2256.m-phone2-status { display:flex; justify-content:space-between; font-size:8px; font-weight:700; color:#0E0E10; padding:0 2px; } 2257.m-phone2-icons { letter-spacing:1px; } 2258.m-phone2-greet { font-family:'Fraunces',serif; font-size:11px; line-height:1.15; padding:4px 0 2px; } 2259.m-phone2-greet b { font-weight:700; } 2260.m-phone2-greet span { font-size:8px; color:#8A8A93; font-family:'Inter',sans-serif; } 2261.m-phone2-task { background:#fff; border-radius:5px; padding:4px 6px; font-size:8px; box-shadow:0 1px 2px rgba(14,14,16,0.06); color:#2A2A2E; } 2262.m-phone2-task.done { color:#8A8A93; text-decoration:line-through; background:rgba(255,255,255,0.6); } 2263.m-phone2-dock { margin-top:auto; display:flex; justify-content:space-around; padding:4px 0; background:rgba(255,255,255,0.7); border-radius:6px; backdrop-filter:blur(4px); } 2264.m-phone2-dock .d { font-size:9px; color:#C0C0C8; } 2265.m-phone2-dock .d.active { color:#8E5BFF; } 2266/* Filters v2 */ 2267.m-filters2 { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2268.m-filters2-chips { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px; } 2269.m-filters2-result { display:flex; align-items:baseline; gap:6px; padding-top:8px; border-top:1px solid rgba(14,14,16,0.06); } 2270.m-filters2-count { font-family:'Fraunces',serif; font-size:24px; font-weight:700; color:#6B3FD4; } 2271.m-filters2-label { font-size:11px; color:#8A8A93; } 2272/* Difficulty v2 */ 2273.m-diff2 { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2274.m-diff2-task { font-size:13px; font-weight:600; margin-bottom:8px; } 2275.m-diff2-row { display:flex; align-items:center; gap:8px; margin-bottom:6px; } 2276.m-diff2-dots { display:flex; gap:3px; } 2277.m-diff2-dots span { width:8px; height:8px; border-radius:50%; background:#E0E0E6; } 2278.m-diff2-dots span.on { background:linear-gradient(135deg,#FF7A3D,#FF4D6D); } 2279.m-diff2-badge { margin-left:auto; padding:2px 8px; border-radius:999px; font-size:10px; font-weight:700; background:#FFE5E9; color:#C0354B; text-transform:uppercase; letter-spacing:0.05em; } 2280.m-diff2-meta { font-size:11px; color:#8A8A93; } 2281/* Timer v2 */ 2282.m-timer2 { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2283.m-timer2-task { font-size:11px; color:#8A8A93; margin-bottom:4px; text-align:center; font-weight:600; text-transform:uppercase; letter-spacing:0.06em; } 2284.m-timer2-disp { font-family:'Fraunces',serif; font-size:26px; font-weight:700; text-align:center; line-height:1; } 2285.m-timer2-bar { height:5px; border-radius:3px; background:#F0F0F4; overflow:hidden; margin:8px 0; } 2286.m-timer2-bar .fill { height:100%; background:linear-gradient(90deg,#8E5BFF,#FF7EB6); }
2287.m-timer2-controls { display:flex; justify-content:center; gap:6px; } 2288.m-timer2-btn { width:24px; height:24px; border-radius:50%; background:linear-gradient(135deg,#8E5BFF,#6B3FD4); color:#fff; font-size:11px; display:flex; align-items:center; justify-content:center; } 2289.m-timer2-btn.off { background:#F0F0F4; color:#56565E; } 2290/* Files v2 */ 2291.m-files2 { display:flex; flex-direction:column; gap:5px; } 2292.m-file2 { background:#fff; border-radius:8px; padding:6px 10px; display:flex; align-items:center; gap:8px; box-shadow:0 2px 6px rgba(14,14,16,0.06); } 2293.m-file2 .ft { font-size:9px; font-weight:700; padding:3px 6px; border-radius:4px; color:#fff; flex-shrink:0; } 2294.m-file2 .ft.pdf { background:#E54848; } 2295.m-file2 .ft.img { background:#4AA086; } 2296.m-file2 .ft.fig { background:linear-gradient(135deg,#A259FF,#F24E1E); } 2297.m-file2-info { display:flex; flex-direction:column; min-width:0; } 2298.m-file2-info strong { font-size:11px; font-weight:600; } 2299.m-file2-info span { font-size:10px; color:#8A8A93; } 2300/* Events v2 */ 2301.m-events2 { display:flex; flex-direction:column; gap:6px; } 2302.m-event2 { background:#fff; border-radius:10px; padding:8px 10px; display:flex; gap:10px; align-items:center; box-shadow:0 2px 6px rgba(14,14,16,0.06); } 2303.m-event2-date { text-align:center; background:linear-gradient(135deg,#FFD6E7,#FF7EB6); color:#fff; border-radius:6px; padding:4px 8px; min-width:34px; } 2304.m-event2-date.alt { background:linear-gradient(135deg,#D5F0DB,#6BB89F); } 2305.m-event2-date span { display:block; font-family:'Fraunces',serif; font-size:16px; font-weight:700; line-height:1; } 2306.m-event2-date b { display:block; font-size:8px; letter-spacing:0.1em; opacity:0.85; } 2307.m-event2-info { flex:1; min-width:0; } 2308.m-event2-info strong { display:block; font-weight:600; font-size:12px; } 2309.m-event2-info span { color:#8A8A93; font-size:10px; } 2310.m-event2-tag { font-size:10px; } 2311.m-event2-tag.plum { color:#8E5BFF; } 2312.m-event2-tag.mint { color:#4AA086; } 2313 2314 2315/* Fade-up scroll-in animation for grid tiles */ 2316@media (prefers-reduced-motion: no-preference) { 2317 .fg-tile.fg-anim { opacity: 0; transform: translateY(24px); transition: opacity .55s cubic-bezier(.4,0,.2,1), transform .55s cubic-bezier(.34,1.4,.64,1); will-change: opacity, transform; } 2318 .fg-tile.fg-anim.is-visible { opacity: 1; transform: translateY(0); } 2319} 2320 2321/* âââ New feature mockups âââ */ 2322/* AI chat */ 2323.m-ai { display:flex; flex-direction:column; gap:6px; } 2324.m-ai-msg { padding:8px 11px; border-radius:14px; font-size:12px; max-width:90%; box-shadow:0 1px 3px rgba(14,14,16,0.06); } 2325.m-ai-msg.user { align-self:flex-end; background:#fff; color:#2A2A2E; border-bottom-right-radius:4px; } 2326.m-ai-msg.bot { align-self:flex-start; background:linear-gradient(135deg,#8E5BFF,#6B3FD4); color:#fff; border-bottom-left-radius:4px; display:flex; align-items:center; gap:6px; } 2327.m-ai-dot { width:6px; height:6px; border-radius:50%; background:#fff; box-shadow:0 0 8px rgba(255,255,255,0.6); flex-shrink:0; } 2328.m-ai-typing { align-self:flex-start; display:flex; gap:3px; padding:8px 11px; background:#fff; border-radius:14px; border-bottom-left-radius:4px; box-shadow:0 1px 3px rgba(14,14,16,0.06); } 2329.m-ai-typing span { width:5px; height:5px; border-radius:50%; background:#8E5BFF; opacity:.4; animation:m-ai-bounce 1.2s ease-in-out infinite; } 2330.m-ai-typing span:nth-child(2) { animation-delay:.15s } 2331.m-ai-typing span:nth-child(3) { animation-delay:.3s } 2332@keyframes m-ai-bounce { 0%,80%,100%{transform:translateY(0); opacity:.4} 40%{transform:translateY(-4px); opacity:1} } 2333 2334/* AI scheduling timeline */ 2335.m-aisched { background:#fff; border-radius:12px; padding:10px 12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); font-size:11px; } 2336.m-aisched-row { display:flex; align-items:center; gap:8px; padding:4px 0; } 2337.m-aisched-time { font-family:'JetBrains Mono', ui-monospace, monospace; font-size:10px; color:#8A8A93; min-width:36px; } 2338.m-aisched-block { flex:1; padding:4px 8px; border-radius:6px; font-size:11px; font-weight:600; } 2339.m-aisched-block.deep { background:linear-gradient(90deg,#EDE4FF,#D8C5FF); color:#6B3FD4; } 2340.m-aisched-block.meet { background:linear-gradient(90deg,#FFE5F0,#FFD0E2); color:#C04275; } 2341.m-aisched-block.lunch { background:linear-gradient(90deg,#FFF1DC,#FFE0BC); color:#B8742A; } 2342 2343/* Fitness */ 2344.m-fitness { background:#fff; border-radius:12px; padding:10px 12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); font-size:11px; } 2345.m-fitness-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; } 2346.m-fitness-head strong { font-size:12px; } 2347.m-fitness-streak { font-size:11px; font-weight:700; color:#FF7A3D; } 2348.m-fitness-ex { padding:4px 0; display:flex; align-items:center; gap:6px; font-size:11px; } 2349.m-fitness-ex.done { color:#8A8A93; } 2350.m-fitness-ex.done span { color:#4AA086; } 2351 2352/* Subtasks */ 2353.m-sub { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2354.m-sub-task { font-size:12px; font-weight:600; margin-bottom:6px; } 2355.m-sub-prog { height:5px; border-radius:3px; background:#E0F2FB; overflow:hidden; margin-bottom:8px; } 2356.m-sub-prog-fill { height:100%; background:linear-gradient(90deg,#8E5BFF,#FF7EB6); border-radius:3px; } 2357.m-sub-list { font-size:11px; } 2358.m-sub-item { padding:3px 0; color:#2A2A2E; } 2359.m-sub-item.done { color:#8A8A93; text-decoration:line-through; } 2360 2361/* Quick add */ 2362.m-quick { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2363.m-quick-kbd { display:inline-block; font-family:'JetBrains Mono',ui-monospace,monospace; font-size:10px; padding:2px 6px; background:#F1EBFF; color:#6B3FD4; border-radius:4px; border:1px solid rgba(142,91,255,0.2); margin-bottom:8px; } 2364.m-quick-input { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:12px; color:#0E0E10; padding:6px 8px; background:#FFF8E7; border-radius:6px; border:1px solid #FFC857; } 2365.m-quick-caret { display:inline-block; width:2px; height:12px; background:#0E0E10; vertical-align:middle; margin-left:1px; animation:m-quick-blink 1s steps(2) infinite; } 2366@keyframes m-quick-blink { 50% { opacity:0 } } 2367.m-quick-hint { font-size:11px; color:#FF7A3D; margin-top:6px; font-weight:600; } 2368 2369/* Recurring */ 2370.m-rec { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2371.m-rec-title { font-size:13px; font-weight:600; margin-bottom:4px; } 2372.m-rec-cycle { font-size:11px; color:#56565E; margin-bottom:8px; } 2373.m-rec-days { display:flex; gap:3px; } 2374.m-rec-days .d { flex:1; aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; border-radius:4px; background:#F0F0F4; color:#C0C0C8; } 2375.m-rec-days .d.on { background:linear-gradient(135deg,#4AA086,#6BB89F); color:#fff; } 2376 2377/* Voice notes */ 2378.m-voice { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); display:flex; align-items:center; gap:10px; } 2379.m-voice-mic { width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,#00c6ff,#0072ff); color:#fff; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; } 2380.m-voice-wave { display:flex; align-items:center; gap:3px; flex:1; } 2381.m-voice-wave span { display:block; width:3px; background:linear-gradient(180deg,#00c6ff,#0072ff); border-radius:2px; animation:m-voice-wave 1.2s ease-in-out infinite; } 2382.m-voice-wave span:nth-child(1) { height:8px; animation-delay:0s } 2383.m-voice-wave span:nth-child(2) { height:16px; animation-delay:.1s } 2384.m-voice-wave span:nth-child(3) { height:24px; animation-delay:.2s } 2385.m-voice-wave span:nth-child(4) { height:20px; animation-delay:.3s } 2386.m-voice-wave span:nth-child(5) { height:14px; animation-delay:.4s } 2387.m-voice-wave span:nth-child(6) { height:18px; animation-delay:.5s } 2388.m-voice-wave span:nth-child(7) { height:10px; animation-delay:.6s } 2389@keyframes m-voice-wave { 0%,100% { transform:scaleY(0.6) } 50% { transform:scaleY(1.2) } } 2390.m-voice-time { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:11px; color:#8A8A93; } 2391 2392/* Widgets */ 2393.m-widgets { display:grid; grid-template-columns:1fr 1fr; gap:6px; } 2394.m-widget { background:#fff; border-radius:10px; padding:8px; box-shadow:0 2px 6px rgba(14,14,16,0.08); } 2395.m-widget-h { font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:#56565E; margin-bottom:6px; } 2396.m-widget-line { height:4px; background:rgba(14,14,16,0.08); border-radius:2px; margin-bottom:4px; } 2397.m-widget-dots { display:flex; gap:3px; } 2398.m-widget-dots .dot { width:8px; height:8px; border-radius:50%; background:#E0E0E6; } 2399.m-widget-dots .dot.on { background:#FF4D8F; } 2400 2401/* Dark mode */ 2402.m-dark { background:linear-gradient(155deg,#1C1C1E,#0E0E10); border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.15); } 2403.m-dark-toggle { width:36px; height:20px; background:#8E5BFF; border-radius:999px; position:relative; margin-bottom:10px; } 2404.m-dark-ball { position:absolute; top:2px; right:2px; width:16px; height:16px; background:#fff; border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,0.3); } 2405.m-dark-preview { background:rgba(255,255,255,0.05); border-radius:6px; padding:8px; } 2406.m-dark-row { height:5px; background:rgba(255,255,255,0.15); border-radius:3px; margin-bottom:4px; } 2407.m-dark-row:last-child { margin-bottom:0 } 2408 2409/* âââ Wave 3 mockups âââ */ 2410/* Time blocking */ 2411.m-tb { background:#fff; border-radius:12px; padding:10px 12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2412.m-tb-hour { display:flex; align-items:center; gap:8px; padding:3px 0; } 2413.m-tb-time { font-family:'JetBrains Mono',ui-monospace,monospace; font-size:9px; color:#8A8A93; min-width:14px; } 2414.m-tb-slot { flex:1; height:14px; border-radius:4px; font-size:9px; font-weight:600; padding:2px 6px; display:flex; align-items:center; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; } 2415.m-tb-slot.deep { background:linear-gradient(90deg,#FFF1DC,#FFE0BC); color:#B8742A; } 2416.m-tb-slot.meet { background:linear-gradient(90deg,#FFE5F0,#FFD0E2); color:#C04275; } 2417.m-tb-slot.focus { background:linear-gradient(90deg,#EDE4FF,#D8C5FF); color:#6B3FD4; } 2418 2419/* Templates */ 2420.m-tpl { background:#fff; border-radius:12px; padding:10px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2421.m-tpl-row { display:flex; align-items:center; gap:8px; padding:5px 6px; border-radius:6px; font-size:11px; font-weight:500; margin-bottom:3px; } 2422.m-tpl-row.hi { background:#FFE5F0; color:#C04275; } 2423.m-tpl-ico { font-size:14px; } 2424 2425/* Snooze */ 2426.m-snz { background:#fff; border-radius:12px; padding:10px 12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2427.m-snz-task { font-size:11px; font-weight:600; margin-bottom:8px; } 2428.m-snz-opts { display:flex; flex-direction:column; gap:4px; } 2429.m-snz-opt { font-size:10px; padding:4px 8px; border-radius:5px; background:#E0F2FB; color:#56565E; text-align:center; } 2430.m-snz-opt.on { background:linear-gradient(135deg,#89f7fe,#66a6ff); color:#fff; font-weight:600; } 2431 2432/* Pomodoro */ 2433.m-pom { display:flex; flex-direction:column; align-items:center; gap:6px; } 2434.m-pom-ring { width:70px; height:70px; border-radius:50%; background:conic-gradient(#eb3349 0deg 200deg, rgba(255,255,255,0.5) 200deg); position:relative; } 2435.m-pom-ring::after { content:''; position:absolute; inset:7px; background:#fff; border-radius:50%; } 2436.m-pom-time { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:700; font-size:13px; color:#eb3349; z-index:1; } 2437.m-pom-state { font-size:11px; font-weight:600; color:#eb3349; } 2438 2439/* Streaks */ 2440.m-stk { background:#fff; border-radius:12px; padding:12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); text-align:center; } 2441.m-stk-num { font-family:'Fraunces',serif; font-size:32px; font-weight:700; background:linear-gradient(135deg,#FF7A3D,#FFC857); -webkit-background-clip:text; background-clip:text; color:transparent; line-height:1; } 2442.m-stk-label { font-size:11px; color:#56565E; margin:4px 0 8px; font-weight:600; } 2443.m-stk-dots { display:flex; gap:3px; justify-content:center; } 2444.m-stk-dots .d { width:8px; height:8px; border-radius:50%; background:#F0F0F4; } 2445.m-stk-dots .d.on { background:linear-gradient(135deg,#FF7A3D,#FFC857); } 2446 2447/* Custom views */ 2448.m-vw { background:#fff; border-radius:12px; padding:10px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2449.m-vw-tabs { display:flex; gap:3px; margin-bottom:8px; flex-wrap:wrap; } 2450.m-vw-tab { font-size:9px; padding:3px 8px; border-radius:999px; background:#F0F0F4; color:#56565E; font-weight:600; } 2451.m-vw-tab.on { background:linear-gradient(135deg,#12c2e9,#c471ed); color:#fff; } 2452.m-vw-body { padding:4px; } 2453.m-vw-line { height:5px; background:rgba(14,14,16,0.08); border-radius:3px; margin-bottom:4px; } 2454 2455/* Inbox */ 2456.m-inb { background:#fff; border-radius:12px; padding:10px 12px; box-shadow:0 2px 8px rgba(14,14,16,0.06); font-size:11px; } 2457.m-inb-head { font-weight:700; margin-bottom:6px; color:#2D7A52; } 2458.m-inb-item { padding:3px 0; color:#2A2A2E; } 2459 2460/* Achievements */ 2461.m-bdg { background:#fff; border-radius:12px; padding:10px; box-shadow:0 2px 8px rgba(14,14,16,0.06); display:flex; flex-direction:column; align-items:center; gap:8px; } 2462.m-bdg-medal { width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,#FAD961,#F76B1C); display:flex; align-items:center; justify-content:center; font-size:24px; box-shadow:0 4px 12px rgba(247,107,28,0.3); } 2463.m-bdg-row { display:flex; gap:5px; } 2464.m-bdg-mini { width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; box-shadow:0 1px 3px rgba(0,0,0,0.1); } 2465.m-bdg-mini.silver { background:linear-gradient(135deg,#E8E8EE,#C0C0C8); } 2466.m-bdg-mini.bronze { background:linear-gradient(135deg,#FF7A3D,#B8742A); } 2467.m-bdg-mini.blue { background:linear-gradient(135deg,#89f7fe,#66a6ff); } 2468.m-bdg-mini.locked { background:#F0F0F4; color:#C0C0C8; font-weight:700; } 2469 2470/* Backup */ 2471.m-bkp { display:flex; flex-direction:column; align-items:center; gap:4px; padding:8px; } 2472.m-bkp-icon { font-size:32px; } 2473.m-bkp-status { font-size:12px; font-weight:600; color:#4AA086; } 2474.m-bkp-time { font-size:10px; color:#8A8A93; } 2475 2476/* Two-way sync v2 */ 2477.m-sv2 { display:flex; align-items:center; gap:6px; background:#fff; border-radius:12px; padding:10px; box-shadow:0 2px 8px rgba(14,14,16,0.06); } 2478.m-sv2-side { flex:1; border-radius:8px; padding:6px 8px; font-size:10px; } 2479.m-sv2-side.brite { background:linear-gradient(135deg,#E8F3DF,#CFE8BD); } 2480.m-sv2-side.ext { background:linear-gradient(135deg,#E0F2FB,#C8E1F5); } 2481.m-sv2-h { font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:#56565E; margin-bottom:3px; } 2482.m-sv2-evt { font-size:10px; font-weight:600; color:#0E0E10; } 2483.m-sv2-arrows { font-size:14px; color:#4AA086; animation:m-sv2-pulse 2s ease-in-out infinite; } 2484@keyframes m-sv2-pulse { 0%,100%{opacity:.5; transform:scale(1)} 50%{opacity:1; transform:scale(1.15)} } 2485 2486/* hide legacy features-* styles */ 2487.features-group, .features-grid, .feature-card { display: none !important; } 2488 2489/* âââ Micro-animations for mockups (subtle, ambient) âââ */ 2490 2491/* Calendar: pulse current day */ 2492.m-cal-grid .d.cur { animation: m-cal-pulse 2.4s ease-in-out infinite; } 2493@keyframes m-cal-pulse { 2494 0%, 100% { box-shadow: 0 0 0 0 rgba(255,77,143,0.5); transform: scale(1); } 2495 50% { box-shadow: 0 0 0 4px rgba(255,77,143,0); transform: scale(1.05); } 2496} 2497 2498/* Habit heatmap: cells fade-in sequentially on first paint */ 2499.m-habit .c { opacity:0; animation: m-habit-fadein .35s ease-out forwards; } 2500.m-habit .c:nth-child(1) { animation-delay: 0.05s; } 2501.m-habit .c:nth-child(2) { animation-delay: 0.07s; } 2502.m-habit .c:nth-child(3) { animation-delay: 0.09s; } 2503.m-habit .c:nth-child(4) { animation-delay: 0.11s; } 2504.m-habit .c:nth-child(5) { animation-delay: 0.13s; } 2505.m-habit .c:nth-child(6) { animation-delay: 0.15s; } 2506.m-habit .c:nth-child(7) { animation-delay: 0.17s; } 2507.m-habit .c:nth-child(8) { animation-delay: 0.19s; } 2508.m-habit .c:nth-child(9) { animation-delay: 0.21s; } 2509.m-habit .c:nth-child(10) { animation-delay: 0.23s; } 2510.m-habit .c:nth-child(11) { animation-delay: 0.25s; } 2511.m-habit .c:nth-child(12) { animation-delay: 0.27s; } 2512.m-habit .c:nth-child(13) { animation-delay: 0.29s; } 2513.m-habit .c:nth-child(14) { animation-delay: 0.31s; } 2514.m-habit .c:nth-child(15) { animation-delay: 0.33s; } 2515.m-
2515habit .c:nth-child(16) { animation-delay: 0.35s; } 2516.m-habit .c:nth-child(17) { animation-delay: 0.37s; } 2517.m-habit .c:nth-child(18) { animation-delay: 0.39s; } 2518.m-habit .c:nth-child(19) { animation-delay: 0.41s; } 2519.m-habit .c:nth-child(20) { animation-delay: 0.43s; } 2520.m-habit .c:nth-child(21) { animation-delay: 0.45s; } 2521@keyframes m-habit-fadein { 2522 from { opacity:0; transform: scale(0.6); } 2523 to { opacity:1; transform: scale(1); } 2524} 2525 2526/* Goal Tracker: bars fill in from 0 to target width */ 2527.m-goal-bar .fill { animation: m-goal-fill 1.4s cubic-bezier(.4,0,.2,1) both; transform-origin: left center; } 2528@keyframes m-goal-fill { 2529 from { transform: scaleX(0); } 2530 to { transform: scaleX(1); } 2531} 2532 2533/* Mood Diary: emojis bob gently with stagger */ 2534.m-mood-day .m-mood-emoji { animation: m-mood-bob 3s ease-in-out infinite; display:inline-block; } 2535.m-mood-day:nth-child(2) .m-mood-emoji { animation-delay: 0.3s; } 2536.m-mood-day:nth-child(3) .m-mood-emoji { animation-delay: 0.6s; } 2537.m-mood-day:nth-child(4) .m-mood-emoji { animation-delay: 0.9s; } 2538.m-mood-day:nth-child(5) .m-mood-emoji { animation-delay: 1.2s; } 2539@keyframes m-mood-bob { 2540 0%, 100% { transform: translateY(0); } 2541 50% { transform: translateY(-2px); } 2542} 2543 2544/* Themes: rotating sheen across swatches */ 2545.m-themes { position:relative; overflow:hidden; border-radius:12px; } 2546.m-themes::after { 2547 content:''; position:absolute; inset:0; 2548 background: linear-gradient(110deg, transparent 0%, transparent 40%, rgba(255,255,255,0.4) 50%, transparent 60%, transparent 100%); 2549 background-size: 200% 100%; 2550 animation: m-themes-sheen 5s linear infinite; 2551 pointer-events:none; 2552} 2553@keyframes m-themes-sheen { 2554 0% { background-position: -100% 0; } 2555 100% { background-position: 200% 0; } 2556} 2557 2558/* Notes: lines "type in" by scaling width */ 2559.m-note-line { animation: m-note-typein .8s ease-out both; transform-origin: left center; } 2560.m-note-line:nth-child(2) { animation-delay: 0.1s; } 2561.m-note-line:nth-child(3) { animation-delay: 0.25s; } 2562.m-note-line:nth-child(4) { animation-delay: 0.4s; } 2563@keyframes m-note-typein { 2564 from { transform: scaleX(0); } 2565 to { transform: scaleX(1); } 2566} 2567 2568/* Streaks: dots light up one-by-one */ 2569.m-stk-dots .d.on { animation: m-stk-light .4s ease-out both; } 2570.m-stk-dots .d.on:nth-child(1) { animation-delay: 0.0s; } 2571.m-stk-dots .d.on:nth-child(2) { animation-delay: 0.1s; } 2572.m-stk-dots .d.on:nth-child(3) { animation-delay: 0.2s; } 2573.m-stk-dots .d.on:nth-child(4) { animation-delay: 0.3s; } 2574.m-stk-dots .d.on:nth-child(5) { animation-delay: 0.4s; } 2575.m-stk-dots .d.on:nth-child(6) { animation-delay: 0.5s; } 2576@keyframes m-stk-light { 2577 from { transform: scale(0); opacity:0; } 2578 to { transform: scale(1); opacity:1; } 2579} 2580 2581/* Filter chips: active ones do a tiny float */ 2582.m-filters2-chips .m-filter-chip.on, 2583.m-filters .m-filter-chip.on { animation: m-filter-float 2.6s ease-in-out infinite; } 2584.m-filters2-chips .m-filter-chip.on:nth-child(2), 2585.m-filters .m-filter-chip.on:nth-child(2) { animation-delay: 0.8s; } 2586@keyframes m-filter-float { 2587 0%, 100% { transform: translateY(0); } 2588 50% { transform: translateY(-2px); } 2589} 2590 2591/* Quick add: subtle highlight on the input pill */ 2592.m-quick-input { animation: m-quick-glow 3s ease-in-out infinite; } 2593@keyframes m-quick-glow { 2594 0%, 100% { box-shadow: inset 0 0 0 0 transparent, 0 0 0 0 rgba(255,200,87,0); } 2595 50% { box-shadow: inset 0 0 0 0 transparent, 0 0 12px 2px rgba(255,200,87,0.35); } 2596} 2597 2598/* Reduce motion respect */ 2599@media (prefers-reduced-motion: reduce) { 2600 .m-cal-grid .d.cur, 2601 .m-habit .c, 2602 .m-goal-bar .fill, 2603 .m-mood-day .m-mood-emoji, 2604 .m-themes::after, 2605 .m-note-line, 2606 .m-stk-dots .d.on, 2607 .m-filter-chip.on, 2608 .m-quick-input { animation: none !important; opacity:1 !important; transform:none !important; } 2609} 2610 2611 2612/* âââ Slider-active micro-anims: replay when slide enters .swiper-slide-visible âââ */ 2613 2614/* AI Assistant: dialog loops â bot message bobs, user message shimmers */ 2615.swiper-slide-visible .m-ai-msg.bot, .fg-tile .m-ai-msg.bot { animation: hfs-ai-bot 3s ease-in-out infinite; } 2616.swiper-slide-visible .m-ai-msg.user, .fg-tile .m-ai-msg.user { animation: hfs-ai-user 3s ease-in-out infinite; } 2617@keyframes hfs-ai-bot { 2618 0%, 100% { transform: translateY(0); } 2619 50% { transform: translateY(-3px); } 2620} 2621@keyframes hfs-ai-user { 2622 0%, 100% { transform: translateX(0); opacity:1; } 2623 50% { transform: translateX(3px); opacity:.92; } 2624} 2625 2626/* Quick Add: typewriter â text appears letter-by-letter via width clip */ 2627.swiper-slide-visible .m-quick-typed, .fg-tile .m-quick-typed { 2628 display:inline-block; 2629 white-space:nowrap; 2630 overflow:hidden; 2631 animation: hfs-quick-type 4s steps(40, end) infinite; 2632 width: 100%; 2633} 2634@keyframes hfs-quick-type { 2635 0% { width: 0; } 2636 50% { width: 100%; } 2637 90% { width: 100%; } 2638 100% { width: 0; } 2639} 2640 2641/* Brite Fitness: green checks light up sequentially */ 2642.swiper-slide-visible .m-fitness-ex.done, .fg-tile .m-fitness-ex.done { 2643 animation: hfs-fit-check 2.5s ease-out infinite; 2644} 2645.swiper-slide-visible .m-fitness-ex.done:nth-of-type(2), .fg-tile .m-fitness-ex.done:nth-of-type(2) { animation-delay: .25s; } 2646@keyframes hfs-fit-check { 2647 0% { transform: scale(1); } 2648 10% { transform: scale(1.08); color: #2D7A52; } 2649 20% { transform: scale(1); } 2650 100% { transform: scale(1); } 2651} 2652 2653/* Habit heatmap: rebloom every time slide activates */ 2654.swiper-slide-visible .m-habit .c, .fg-tile .m-habit .c { opacity:0; animation: hfs-habit-bloom 1.6s ease-out infinite; } 2655.swiper-slide-visible .m-habit .c:nth-child(1), .fg-tile .m-habit .c:nth-child(1) { animation-delay: 0.00s; } 2656.swiper-slide-visible .m-habit .c:nth-child(2), .fg-tile .m-habit .c:nth-child(2) { animation-delay: 0.03s; } 2657.swiper-slide-visible .m-habit .c:nth-child(3), .fg-tile .m-habit .c:nth-child(3) { animation-delay: 0.06s; } 2658.swiper-slide-visible .m-habit .c:nth-child(4), .fg-tile .m-habit .c:nth-child(4) { animation-delay: 0.09s; } 2659.swiper-slide-visible .m-habit .c:nth-child(5), .fg-tile .m-habit .c:nth-child(5) { animation-delay: 0.12s; } 2660.swiper-slide-visible .m-habit .c:nth-child(6), .fg-tile .m-habit .c:nth-child(6) { animation-delay: 0.15s; } 2661.swiper-slide-visible .m-habit .c:nth-child(7), .fg-tile .m-habit .c:nth-child(7) { animation-delay: 0.18s; } 2662.swiper-slide-visible .m-habit .c:nth-child(8), .fg-tile .m-habit .c:nth-child(8) { animation-delay: 0.21s; } 2663.swiper-slide-visible .m-habit .c:nth-child(9), .fg-tile .m-habit .c:nth-child(9) { animation-delay: 0.24s; } 2664.swiper-slide-visible .m-habit .c:nth-child(10), .fg-tile .m-habit .c:nth-child(10) { animation-delay: 0.27s; } 2665.swiper-slide-visible .m-habit .c:nth-child(11), .fg-tile .m-habit .c:nth-child(11) { animation-delay: 0.30s; } 2666.swiper-slide-visible .m-habit .c:nth-child(12), .fg-tile .m-habit .c:nth-child(12) { animation-delay: 0.33s; } 2667.swiper-slide-visible .m-habit .c:nth-child(13), .fg-tile .m-habit .c:nth-child(13) { animation-delay: 0.36s; } 2668.swiper-slide-visible .m-habit .c:nth-child(14), .fg-tile .m-habit .c:nth-child(14) { animation-delay: 0.39s; } 2669.swiper-slide-visible .m-habit .c:nth-child(15), .fg-tile .m-habit .c:nth-child(15) { animation-delay: 0.42s; } 2670.swiper-slide-visible .m-habit .c:nth-child(16), .fg-tile .m-habit .c:nth-child(16) { animation-delay: 0.45s; } 2671.swiper-slide-visible .m-habit .c:nth-child(17), .fg-tile .m-habit .c:nth-child(17) { animation-delay: 0.48s; } 2672.swiper-slide-visible .m-habit .c:nth-child(18), .fg-tile .m-habit .c:nth-child(18) { animation-delay: 0.51s; } 2673.swiper-slide-visible .m-habit .c:nth-child(19), .fg-tile .m-habit .c:nth-child(19) { animation-delay: 0.54s; } 2674.swiper-slide-visible .m-habit .c:nth-child(20), .fg-tile .m-habit .c:nth-child(20) { animation-delay: 0.57s; } 2675.swiper-slide-visible .m-habit .c:nth-child(21), .fg-tile .m-habit .c:nth-child(21) { animation-delay: 0.60s; } 2676@keyframes hfs-habit-bloom { 2677 0% { opacity:0; transform: scale(0.5); } 2678 15% { opacity:1; transform: scale(1.1); } 2679 25% { opacity:1; transform: scale(1); } 2680 85% { opacity:1; transform: scale(1); } 2681 100% { opacity:1; transform: scale(1); } 2682} 2683 2684/* Goal Tracker: bars wave back and forth */ 2685.swiper-slide-visible .m-goal-bar .fill, .fg-tile .m-goal-bar .fill { animation: hfs-goal-wave 2.6s cubic-bezier(.4,0,.2,1) infinite; transform-origin: left center; } 2686@keyframes hfs-goal-wave { 2687 0% { transform: scaleX(0); } 2688 40% { transform: scaleX(1); } 2689 60% { transform: scaleX(1); } 2690 100% { transform: scaleX(1); } 2691} 2692 2693/* Calendar: current day pulse â more pronounced when slide is active */ 2694.swiper-slide-visible .m-cal-grid .d.cur, .fg-tile .m-cal-grid .d.cur { animation: hfs-cal-strong 1.8s ease-in-out infinite; } 2695@keyframes hfs-cal-strong { 2696 0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255,77,143,0.6); } 2697 50% { transform: scale(1.15); box-shadow: 0 0 0 6px rgba(255,77,143,0); } 2698} 2699 2700/* Projects/Kanban cards: subtle shuffle bobs */ 2701.swiper-slide-visible .m-proj-card, .fg-tile .m-proj-card { animation: hfs-proj-bob 3s ease-in-out infinite; } 2702.swiper-slide-visible .m-proj-card:nth-child(2), .fg-tile .m-proj-card:nth-child(2) { animation-delay: .3s; } 2703.swiper-slide-visible .m-proj-card:nth-child(3), .fg-tile .m-proj-card:nth-child(3) { animation-delay: .6s; } 2704@keyframes hfs-proj-bob { 2705 0%, 100% { transform: translateY(0); } 2706 50% { transform: translateY(-2px); } 2707} 2708 2709/* Budget: percentages flicker â bars subtly wave */ 2710.swiper-slide-visible .m-budget-bar div, .fg-tile .m-budget-bar div { animation: hfs-budget-wave 3s ease-in-out infinite; transform-origin: left; } 2711@keyframes hfs-budget-wave { 2712 0%, 100% { transform: scaleX(1); } 2713 50% { transform: scaleX(1.04); filter: brightness(1.1); } 2714} 2715 2716/* Streaks: dots cascade light on activation */ 2717.swiper-slide-visible .m-stk-dots .d.on, .fg-tile .m-stk-dots .d.on { animation: hfs-stk-cascade 2.4s ease-out infinite; } 2718.swiper-slide-visible .m-stk-dots .d.on:nth-child(1), .fg-tile .m-stk-dots .d.on:nth-child(1) { animation-delay: 0.0s; } 2719.swiper-slide-visible .m-stk-dots .d.on:nth-child(2), .fg-tile .m-stk-dots .d.on:nth-child(2) { animation-delay: 0.08s; } 2720.swiper-slide-visible .m-stk-dots .d.on:nth-child(3), .fg-tile .m-stk-dots .d.on:nth-child(3) { animation-delay: 0.16s; } 2721.swiper-slide-visible .m-stk-dots .d.on:nth-child(4), .fg-tile .m-stk-dots .d.on:nth-child(4) { animation-delay: 0.24s; } 2722.swiper-slide-visible .m-stk-dots .d.on:nth-child(5), .fg-tile .m-stk-dots .d.on:nth-child(5) { animation-delay: 0.32s; } 2723.swiper-slide-visible .m-stk-dots .d.on:nth-child(6), .fg-tile .m-stk-dots .d.on:nth-child(6) { animation-delay: 0.40s; } 2724@keyframes hfs-stk-cascade { 2725 0% { transform: scale(0); opacity:0; } 2726 10% { transform: scale(1.3); opacity:1; } 2727 20% { transform: scale(1); } 2728 80% { transform: scale(1); } 2729 100% { transform: scale(1); opacity:1; } 2730} 2731 2732/* Streaks number: subtle glow pulse */ 2733.swiper-slide-visible .m-stk-num, .fg-tile .m-stk-num { animation: hfs-stk-glow 2s ease-in-out infinite; } 2734@keyframes hfs-stk-glow { 2735 0%, 100% { filter: drop-shadow(0 0 0 rgba(255,122,61,0)); } 2736 50% { filter: drop-shadow(0 0 8px rgba(255,122,61,0.6)); } 2737} 2738 2739/* Pomodoro: ring sweep */ 2740.swiper-slide-visible .m-pom-ring, .fg-tile .m-pom-ring { 2741 animation: hfs-pom-sweep 4s linear infinite; 2742} 2743@keyframes hfs-pom-sweep { 2744 0% { background: conic-gradient(#eb3349 0deg 0deg, rgba(255,255,255,0.5) 0deg); } 2745 100% { background: conic-gradient(#eb3349 0deg 360deg, rgba(255,255,255,0.5) 360deg); } 2746} 2747 2748/* Mood: stronger bob */ 2749.swiper-slide-visible .m-mood-day .m-mood-emoji, .fg-tile .m-mood-day .m-mood-emoji { animation: hfs-mood-bounce 2s ease-in-out infinite; } 2750.swiper-slide-visible .m-mood-day:nth-child(2) .m-mood-emoji, .fg-tile .m-mood-day:nth-child(2) .m-mood-emoji { animation-delay: 0.15s; } 2751.swiper-slide-visible .m-mood-day:nth-child(3) .m-mood-emoji, .fg-tile .m-mood-day:nth-child(3) .m-mood-emoji { animation-delay: 0.30s; } 2752.swiper-slide-visible .m-mood-day:nth-child(4) .m-mood-emoji, .fg-tile .m-mood-day:nth-child(4) .m-mood-emoji { animation-delay: 0.45s; } 2753.swiper-slide-visible .m-mood-day:nth-child(5) .m-mood-emoji, .fg-tile .m-mood-day:nth-child(5) .m-mood-emoji { animation-delay: 0.60s; } 2754@keyframes hfs-mood-bounce { 2755 0%, 100% { transform: translateY(0) scale(1); } 2756 50% { transform: translateY(-5px) scale(1.1); } 2757} 2758 2759/* Quick add input glow stronger */ 2760.swiper-slide-visible .m-quick-input, .fg-tile .m-quick-input { animation: hfs-quick-glow-strong 2s ease-in-out infinite; } 2761@keyframes hfs-quick-glow-strong { 2762 0%, 100% { box-shadow: 0 0 0 0 rgba(255,200,87,0); } 2763 50% { box-shadow: 0 0 16px 3px rgba(255,200,87,0.5); } 2764} 2765 2766/* Respect reduced motion */ 2767@media (prefers-reduced-motion: reduce) { 2768 .swiper-slide-visible .m-ai-msg, 2769 .swiper-slide-visible .m-quick-typed, 2770 .swiper-slide-visible .m-fitness-ex.done, 2771 .swiper-slide-visible .m-habit .c, 2772 .swiper-slide-visible .m-goal-bar .fill, 2773 .swiper-slide-visible .m-cal-grid .d.cur, 2774 .swiper-slide-visible .m-proj-card, 2775 .swiper-slide-visible .m-budget-bar div, 2776 .swiper-slide-visible .m-stk-dots .d.on, 2777 .swiper-slide-visible .m-stk-num, 2778 .swiper-slide-visible .m-pom-ring, 2779 .swiper-slide-visible .m-mood-day .m-mood-emoji, 2780 .swiper-slide-visible .m-quick-input, .fg-tile .m-quick-input { animation: none !important; } 2781} 2782 2783</style> 2784 2785<section class="hfs-section"> 2786 <div class="hfs-head">
2787 <span class="hfs-eyebrow">47+ features</span> 2788 <h2 class="hfs-title">Everything you need, in one place</h2> 2789 <p class="hfs-lead">Swipe through Brite's most-loved features â from AI planning to habit streaks.</p> 2790 </div> 2791 2792 <div class="swiper hfs-swiper"> 2793 <div class="swiper-wrapper"> 2794 <article class="swiper-slide hfs-card fg-t-plum"> 2795 <h3 class="hfs-card-title">Personal tasks</h3> 2796 <p class="hfs-card-desc">Add a widget with personal tasks to your daily schedule: make to-do lists and don't forget anything important</p> 2797 <div class="hfs-card-mockup"> <div class="m-day"> 2798 <div class="m-day-head"><strong>Today · Tue 5</strong><span class="m-day-fire">ð¥ 3 done</span></div> 2799 <div class="m-day-row done"><span class="m-day-dot"></span>Morning workout</div> 2800 <div class="m-day-row done"><span class="m-day-dot"></span>Team standup 9am</div> 2801 <div class="m-day-row open"><span class="m-day-dot"></span>Review Q1 goals</div> 2802 <div class="m-day-row open"><span class="m-day-dot"></span>Call with Sarah</div> 2803 <div class="m-day-pills"> 2804 <span class="m-day-pill">ð§ Water</span> 2805 <span class="m-day-pill b">ð§ Meditate</span> 2806 <span class="m-day-pill c">ð Read</span> 2807 </div> 2808 </div> 2809 </div> 2810 </article> 2811 <article class="swiper-slide hfs-card fg-t-mint"> 2812 <h3 class="hfs-card-title">Habit tracker</h3> 2813 <p class="hfs-card-desc">Develop good habits and track your progress. Our widget offers over 80 present habits.</p> 2814 <div class="hfs-card-mockup"> <div class="m-habit-wrap"> 2815 <div class="m-habit-streak">ð¥ 24-day streak · meditate</div> 2816 <div class="m-habit"> 2817 <div class="c l2"></div> 2818 <div class="c l3"></div> 2819 <div class="c l1"></div> 2820 <div class="c l3"></div> 2821 <div class="c l3"></div> 2822 <div class="c l2"></div> 2823 <div class="c l2"></div> 2824 <div class="c l3"></div> 2825 <div class="c l1"></div> 2826 <div class="c l3"></div> 2827 <div class="c l3"></div> 2828 <div class="c l3"></div> 2829 <div class="c l2"></div> 2830 <div class="c l3"></div> 2831 <div class="c l1"></div> 2832 <div class="c l3"></div> 2833 <div class="c l3"></div> 2834 <div class="c l2"></div> 2835 <div class="c l3"></div> 2836 <div class="c l3"></div> 2837 <div class="c l3"></div> 2838 </div> 2839 </div> 2840 </div> 2841 </article> 2842 <article class="swiper-slide hfs-card fg-t-pink"> 2843 <h3 class="hfs-card-title">Calendar</h3> 2844 <p class="hfs-card-desc">Full featured calendar with schedule, day, weekly and monthly view</p> 2845 <div class="hfs-card-mockup"> <div class="m-cal"> 2846 <div class="m-cal-head"><span>March 2025</span><span style="color:#FF4D8F">â</span></div> 2847 <div class="m-cal-grid"> 2848 <div>M</div><div>T</div><div>W</div><div>T</div><div>F</div><div>S</div><div>S</div> 2849 <div class="d">1</div><div class="d">2</div><div class="d">3</div><div class="d">4</div><div class="d cur">5</div><div class="d">6</div><div class="d">7</div> 2850 <div class="d ev">8</div><div class="d">9</div><div class="d">10</div><div class="d">11</div><div class="d">12</div><div class="d">13</div><div class="d ev">14</div> 2851 <div class="d">15</div><div class="d">16</div><div class="d">17</div><div class="d">18</div><div class="d">19</div><div class="d ev">20</div><div class="d">21</div> 2852 </div> 2853 </div> 2854 </div> 2855 </article> 2856 <article class="swiper-slide hfs-card fg-t-plum"> 2857 <h3 class="hfs-card-title">AI Assistant</h3> 2858 <p class="hfs-card-desc">Chat with your planner. Ask Brite to summarize your week, draft a plan, or find anything across tasks, notes and habits.</p> 2859 <div class="hfs-card-mockup"> <div class="m-ai"> 2860 <div class="m-ai-msg user">Plan my Tuesday around the team standup.</div> 2861 <div class="m-ai-msg bot">
2862 <span class="m-ai-dot"></span> 2863 <span>Done. 4 deep-work blocks scheduled, lunch protected.</span> 2864 </div> 2865 <div class="m-ai-typing"><span></span><span></span><span></span></div> 2866 </div> 2867 </div> 2868 </article> 2869 <article class="swiper-slide hfs-card fg-t-cream"> 2870 <h3 class="hfs-card-title">Goals Tracker</h3> 2871 <p class="hfs-card-desc">Write down your daily, weekly, monthly or yearly goals so that you can reach them faster!</p> 2872 <div class="hfs-card-mockup"> <div class="m-goal"> 2873 <div class="m-goal-row"> 2874 <div class="m-goal-label"><span>Read 24 books</span><span>62%</span></div> 2875 <div class="m-goal-bar"><div class="fill" style="width:62%; background:linear-gradient(90deg,#8E5BFF,#FF7EB6)"></div></div> 2876 </div> 2877 <div class="m-goal-row"> 2878 <div class="m-goal-label"><span>Run 500km</span><span>38%</span></div> 2879 <div class="m-goal-bar"><div class="fill" style="width:38%; background:linear-gradient(90deg,#4AA086,#6BB89F)"></div></div> 2880 </div> 2881 <div class="m-goal-row"> 2882 <div class="m-goal-label"><span>Save $10,000</span><span>81%</span></div> 2883 <div class="m-goal-bar"><div class="fill" style="width:81%; background:linear-gradient(90deg,#FFC857,#FF7A3D)"></div></div> 2884 </div> 2885 </div> 2886 </div> 2887 </article> 2888 <article class="swiper-slide hfs-card fg-t-mint"> 2889 <h3 class="hfs-card-title">Brite Fitness</h3> 2890 <p class="hfs-card-desc">32 workout programs and 873 exercises built right into your planner. Strength, mobility, cardio â track everything in one place.</p> 2891 <div class="hfs-card-mockup"> <div class="m-fitness"> 2892 <div class="m-fitness-head"> 2893 <strong>Today · Day 5</strong> 2894 <span class="m-fitness-streak">ð¥ 5d</span> 2895 </div> 2896 <div class="m-fitness-prog"> 2897 <div class="m-fitness-ex done"><span>â</span> Squats 3Ã10</div> 2898 <div class="m-fitness-ex done"><span>â</span> Push-ups 3Ã12</div> 2899 <div class="m-fitness-ex"><span>â</span> Plank 3Ã60s</div> 2900 </div> 2901 </div> 2902 </div> 2903 </article> 2904 <article class="swiper-slide hfs-card fg-t-paper"> 2905 <h3 class="hfs-card-title">Projects</h3> 2906 <p class="hfs-card-desc">Use projects to organize your tasks and make collaborations with others</p> 2907 <div class="hfs-card-mockup"> <div class="m-proj"> 2908 <div class="m-proj-col"><div class="m-proj-col-h">To do</div><div class="m-proj-card">Q2 roadmap</div><div class="m-proj-card">Hire designer</div></div> 2909 <div class="m-proj-col"><div class="m-proj-col-h">Doing</div><div class="m-proj-card">Onboarding v2</div></div> 2910 <div class="m-proj-col"><div class="m-proj-col-h">Done</div><div class="m-proj-card">Launch teaser</div><div class="m-proj-card">Press kit</div></div> 2911 </div> 2912 </div> 2913 </article> 2914 <article class="swiper-slide hfs-card fg-t-coral"> 2915 <h3 class="hfs-card-title">Mood Diary</h3> 2916 <p class="hfs-card-desc">Capture your feeling and reasons for its change. Take small notes and record your thoughts. This widget allows you to keep track of your past feelings and statistics of your mood.</p> 2917 <div class="hfs-card-mockup"> <div class="m-mood"> 2918 <div class="m-mood-day"><div class="m-mood-emoji">ð</div><span>M</span></div> 2919 <div class="m-mood-day"><div class="m-mood-emoji">ð</div><span>T</span></div> 2920 <div class="m-mood-day"><div class="m-mood-emoji">ð</div><span>W</span></div> 2921 <div class="m-mood-day"><div class="m-mood-emoji">ð</div><span>T</span></div> 2922 <div class="m-mood-day"><div class="m-mood-emoji">ð</div><span>F</span></div> 2923 </div> 2924 </div> 2925 </article> 2926 <article class="swiper-slide hfs-card fg-t-leaf"> 2927 <h3 class="hfs-card-title">Budget app</h3> 2928 <p class="hfs-card-desc">Do you wonder how your money runs out so quickly? Start tracking your spending with a handy and minimalistic finance widget.</p> 2929 <div class="hfs-card-mockup"> <div class="m-budget"> 2930 <div class="m-budget-total">$2,847</div> 2931 <div class="m-budget-sub">spent this month · 71% of budget</div> 2932 <div class="m-budget-bar"> 2933 <div style="width:38%; background:#4AA086"></div> 2934 <div style="width:24%; background:#FF7EB6"></div> 2935 <div style="width:18%; background:#FFC857"></div> 2936 <div style="width:20%; background:#8E5BFF"></div> 2937 </div> 2938 <div class="m-budget-legend">
2939 <span style="color:#4AA086">Food</span> 2940 <span style="color:#FF7EB6">Rent</span> 2941 <span style="color:#FFC857">Fun</span> 2942 <span style="color:#8E5BFF">Other</span> 2943 </div> 2944 </div> 2945 </div> 2946 </article> 2947 <article class="swiper-slide hfs-card fg-t-coral"> 2948 <h3 class="hfs-card-title">Pomodoro timer</h3> 2949 <p class="hfs-card-desc">Work in 25-minute sprints with built-in breaks. Stay sharp through long sessions without burning out.</p> 2950 <div class="hfs-card-mockup"> <div class="m-pom"> 2951 <div class="m-pom-ring"> 2952 <span class="m-pom-time">24:18</span> 2953 </div> 2954 <div class="m-pom-state">Focus · 3/4</div> 2955 </div> 2956 </div> 2957 </article> 2958 <article class="swiper-slide hfs-card fg-t-sun"> 2959 <h3 class="hfs-card-title">Quick Add</h3> 2960 <p class="hfs-card-desc">Press a key, type your task in natural language â "call mom tomorrow 5pm" â and it lands on your calendar.</p> 2961 <div class="hfs-card-mockup"> <div class="m-quick"> 2962 <div class="m-quick-kbd">â N</div> 2963 <div class="m-quick-input"> 2964 <span class="m-quick-typed">call mom tomorrow 5pm</span> 2965 <span class="m-quick-caret"></span> 2966 </div> 2967 <div class="m-quick-hint">Tomorrow · 5:00 PM</div> 2968 </div> 2969 </div> 2970 </article> 2971 <article class="swiper-slide hfs-card fg-t-sun"> 2972 <h3 class="hfs-card-title">Streaks</h3> 2973 <p class="hfs-card-desc">See how many days in a row you stuck with it. A small visual nudge that keeps momentum going.</p> 2974 <div class="hfs-card-mockup"> <div class="m-stk"> 2975 <div class="m-stk-num">42</div> 2976 <div class="m-stk-label">day streak ð¥</div> 2977 <div class="m-stk-dots"> 2978 <span class="d on"></span><span class="d on"></span><span class="d on"></span><span class="d on"></span><span class="d on"></span><span class="d on"></span><span class="d"></span> 2979 </div> 2980 </div> 2981 </div> 2982 </article> 2983 </div> 2984 <div class="hfs-controls"> 2985 <div class="hfs-pagination swiper-pagination"></div> 2986 </div> 2987 </div> 2988 2989 <div class="hfs-cta-wrap"> 2990 <a href="/features" class="hfs-cta"> 2991 Explore all 47 features <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 12h14M13 5l7 7-7 7"/></svg> 2992 </a> 2993 </div> 2994</section> 2995 2996<style> 2997.hfs-section { max-width:1200px; margin:0 auto; padding:80px 28px 60px; font-family:'Inter',-apple-system,system-ui,sans-serif; } 2998.hfs-head { text-align:center; max-width:680px; margin:0 auto 40px; } 2999.hfs-eyebrow { display:inline-block; background:linear-gradient(135deg,#F1EBFF,#FFD6E7); color:#6B3FD4; font-size:12px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; padding:6px 14px; border-radius:999px; margin-bottom:18px; } 3000.hfs-title { font-family:'Fraunces','Times New Roman',serif; font-size:clamp(30px,4vw,46px); font-weight:600; line-height:1.1; letter-spacing:-0.025em; margin:0 0 16px; color:#0E0E10; } 3001.hfs-lead { font-size:17px; line-height:1.55; color:#56565E; margin:0; } 3002.hfs-swiper { padding:8px 4px 0; overflow:visible !important; } 3003.hfs-card { width:340px !important; min-height:430px; background:#fff; border-radius:24px; padding:24px; box-shadow:0 1px 2px rgba(14,14,16,0.04),0 0 0 1px rgba(14,14,16,0.04); display:flex !important; flex-direction:column; gap:10px; box-sizing:border-box; transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s; } 3004.hfs-card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(14,14,16,0.10),0 0 0 1px rgba(14,14,16,0.05); } 3005@media (max-width:720px) { .hfs-card { width:280px !important; min-height:380px; padding:20px; } } 3006.hfs-card-eyebrow { font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#8A8A93; display:inline-flex; align-items:center; gap:6px; } 3007.hfs-card-eyebrow::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.5; } 3008.hfs-card-title { font-family:'Fraunces','Times New Roman',serif; font-size:22px; font-weight:600; line-height:1.15; letter-spacing:-0.02em; margin:0; color:#0E0E10; } 3009.hfs-card-desc { font-size:14px; line-height:1.5; color:#56565E; margin:0; } 3010.hfs-card-mockup { margin-top:auto; pointer-events:none; padding-top:8px; } 3011.hfs-controls { display:flex; align-items:center; justify-content:center; margin-top:36px; } 3012.hfs-pagination { position:static !important; display:inline-flex !important; align-items:center; gap:8px !important; width:auto !important; padding:8px 14px; background:rgba(14,14,16,0.04); border-radius:999px; transform:none !important; left:auto !important; bottom:auto !important; } 3013.hfs-pagination .swiper-pagination-bullet { width:8px !important; height:8px !important; background:#56565E !important; opacity:.45 !important; transition:all .25s ease !important; margin:0 !important; display:inline-block !important; flex-shrink:0; } 3014.hfs-pagination .swiper-pagination-bullet:hover { opacity:.8 !important; } 3015.hfs-pagination .swiper-pagination-bullet-active { width:28px !important; border-radius:999px !important; opacity:1 !important; background:linear-gradient(90deg,#8E5BFF,#FF7EB6) !important; box-shadow:0 2px 8px rgba(142,91,255,0.35) !important; } 3016.hfs-cta-wrap { text-align:center; margin-top:36px; } 3017.hfs-cta { display:inline-flex; align-items:center; gap:8px; background:linear-gradient(135deg,#8E5BFF 0%,#FF7EB6 100%); color:#fff; padding:14px 28px; border-radius:999px; font-weight:600; font-size:15px; text-decoration:none; box-shadow:0 8px 24px rgba(142,91,255,0.3); transition:transform .2s,box-shadow .2s; } 3018.hfs-cta:hover { transform:translateY(-2px); box-shadow:0 12px 32px rgba(142,91,255,0.4); } 3019</style> 3020
3021<script> 3022(function(){ 3023 function initHfs(){ 3024 if (typeof Swiper === 'undefined') { setTimeout(initHfs, 200); return; } 3025 if (window.__hfsInited) return; 3026 window.__hfsInited = true; 3027 new Swiper('.hfs-swiper', { 3028 slidesPerView: 'auto', 3029 spaceBetween: 20, 3030 centeredSlides: false, 3031 grabCursor: true, 3032 speed: 500, 3033 watchSlidesProgress: true, 3034 watchSlidesVisibility: true, 3035 keyboard: { enabled: true }, 3036 pagination: { el: '.hfs-pagination', clickable: true }, 3037 breakpoints: { 3038 720: { spaceBetween: 22 }, 3039 1024: { spaceBetween: 24 } 3040 } 3041 }); 3042 } 3043 if (document.readyState === 'loading') { 3044 document.addEventListener('DOMContentLoaded', initHfs); 3045 } else { initHfs(); } 3046})(); 3047</script>
3047 3048 3049 <!-- ============= INTEGRATIONS (Plays well with) ============= --> 3050 <div class="section int3-section"> 3051 <div class="int3-eyebrow">Plays well with</div> 3052 <h2 class="int3-title">Brite plays well with <em>everything you use.</em></h2> 3053 <p class="int3-lead">Native sync with Google Calendar, Apple Calendar, Outlook, Zoom & more.</p> 3054 3055 <div class="int3-card"> 3056 <div class="int3-meta">12 integrations · more shipping monthly</div> 3057 <div class="int3-grid"> 3058 <div class="int3-item" data-fx="page-flip"> 3059 <div class="int3-icon "> 3060 <img src="/brand-preview/icons/google-cal.svg" alt="Google Calendar" loading="lazy" width="56" height="56"> 3061 </div> 3062 <div class="int3-name">Google Calendar</div> 3063 </div> 3064 <div class="int3-item" data-fx="peek"> 3065 <div class="int3-icon app-icon"> 3066 <img src="/brand-preview/icons/apple-cal.jpg" alt="Apple Calendar" loading="lazy" width="56" height="56"> 3067 </div> 3068 <div class="int3-name">Apple Calendar</div> 3069 </div> 3070 <div class="int3-item" data-fx="envelope"> 3071 <div class="int3-icon "> 3072 <img src="/brand-preview/icons/outlook.svg" alt="Outlook" loading="lazy" width="56" height="56"> 3073 </div> 3074 <div class="int3-name">Outlook</div> 3075 </div> 3076 <div class="int3-item" data-fx="zoom-in"> 3077 <div class="int3-icon "> 3078 <img src="/brand-preview/icons/google-meet.svg" alt="Google Meet" loading="lazy" width="56" height="56"> 3079 </div> 3080 <div class="int3-name">Google Meet</div> 3081 </div> 3082 <div class="int3-item" data-fx="ring"> 3083 <div class="int3-icon "> 3084 <img src="/brand-preview/icons/zoom.svg" alt="Zoom" loading="lazy" width="56" height="56"> 3085 </div> 3086 <div class="int3-name">Zoom</div> 3087 </div> 3088 <div class="int3-item" data-fx="check"> 3089 <div class="int3-icon app-icon"> 3090 <img src="/brand-preview/icons/apple-reminders.jpg" alt="Reminders" loading="lazy" width="56" height="56"> 3091 </div> 3092 <div class="int3-name">Reminders</div> 3093 </div> 3094 <div class="int3-item" data-fx="spin"> 3095 <div class="int3-icon app-icon"> 3096 <img src="/brand-preview/icons/apple-watch.jpg" alt="Apple Watch" loading="lazy" width="56" height="56"> 3097 </div> 3098 <div class="int3-name">Apple Watch</div> 3099 </div> 3100 <div class="int3-item" data-fx="hue"> 3101 <div class="int3-icon app-icon"> 3102 <img src="/brand-preview/icons/apple-photos.jpg" alt="Photos OCR" loading="lazy" width="56" height="56"> 3103 </div> 3104 <div class="int3-name">Photos OCR</div> 3105 </div> 3106 <div class="int3-item" data-fx="glow"> 3107 <div class="int3-icon "> 3108 <img src="/brand-preview/icons/siri.svg" alt="Siri" loading="lazy" width="56" height="56"> 3109 </div> 3110 <div class="int3-name">Siri</div> 3111 </div> 3112 <div class="int3-item" data-fx="wave"> 3113 <div class="int3-icon app-icon"> 3114 <img src="/brand-preview/icons/voice-memos.jpg" alt="Voice Memos" loading="lazy" width="56" height="56"> 3115 </div> 3116 <div class="int3-name">Voice Memos</div> 3117 </div> 3118 <div class="int3-item" data-fx="pin"> 3119 <div class="int3-icon app-icon"> 3120 <img src="/brand-preview/icons/apple-maps.jpg" alt="Apple Maps" loading="lazy" width="56" height="56"> 3121 </div> 3122 <div class="int3-name">Apple Maps</div> 3123 </div> 3124 <div class="int3-item" data-fx="sun"> 3125 <div class="int3-icon app-icon"> 3126 <img src="/brand-preview/icons/weather.jpg" alt="Weather" loading="lazy" width="56" height="56"> 3127 </div> 3128 <div class="int3-name">Weather</div> 3129 </div> 3130 </div> 3131 </div> 3132 </div> 3133 3134 3135 <div class="section rv3-section"> 3136 <div class="rv3-eyebrow">What people say</div> 3137 <h2 class="rv3-title">Loved by 1M+ planners worldwide â <em>4.6â from 15,000 reviews.</em></h2> 3138 <p class="rv3-lead">From students to founders. From ADHD planners to seasoned professionals.</p> 3139 3140 <div class="rv3-row"> 3141 <div class="rv3-stat"> 3142 <div> 3143 <div class="rv3-stat-label">Positive reviews</div> 3144 <div class="rv3-stat-num">97%</div> 3145 <div class="rv3-stat-rating-row">
3146 <span class="rv3-stat-rating">â â â â â </span> 3147 <span class="rv3-stat-rating-num">4.6</span> 3148 </div> 3149 <div class="rv3-stat-quote">"The first planner that doesn't make me feel behind on Monday morning."</div> 3150 <div class="rv3-stat-quote-attr">â App Store · April 2026</div> 3151 </div> 3152 <div class="rv3-stat-bottom">15,607 ratings across iOS & Google Play</div> 3153 </div> 3154 3155 <div class="rv3-grid"> 3156 <div class="rv3-review"> 3157 <div class="rv3-stars">â â â â â </div> 3158 <p class="rv3-text">"This turns out to be the customizable My Day view, which shows my tasks for the day, calendars (four of them, from various sources), habits that Iâm working on, and ongoing projects, all in a single view."</p> 3159 <div class="rv3-author"> 3160 <span class="rv3-avatar av-a">KA</span> 3161 <div> 3162 <div class="rv3-name">Kirkpatrick A.</div> 3163 <div class="rv3-meta">App Store · Verified</div> 3164 </div> 3165 </div> 3166 </div> 3167 <div class="rv3-review"> 3168 <div class="rv3-stars">â â â â â </div> 3169 <p class="rv3-text">"I love the idea of having so much functionality and organization in one, central place."</p> 3170 <div class="rv3-author"> 3171 <span class="rv3-avatar av-b">SA</span> 3172 <div> 3173 <div class="rv3-name">Sirita A.</div> 3174 <div class="rv3-meta">App Store · Verified</div> 3175 </div> 3176 </div> 3177 </div> 3178 <div class="rv3-review"> 3179 <div class="rv3-stars">â â â â â </div> 3180 <p class="rv3-text">"This is like Google Calendar on steroids. It keeps me organized and it saves me a lot of time because I now can do everything from one single app."</p> 3181 <div class="rv3-author"> 3182 <span class="rv3-avatar av-c">AK</span> 3183 <div> 3184 <div class="rv3-name">Andras K.</div> 3185 <div class="rv3-meta">Google Play · Verified</div> 3186 </div> 3187 </div> 3188 </div> 3189 <div class="rv3-review"> 3190 <div class="rv3-stars">â â â â â </div> 3191 <p class="rv3-text">"It is a powerfully crafted, understated environment in which to map your life."</p> 3192 <div class="rv3-author"> 3193 <span class="rv3-avatar av-d">JS</span> 3194 <div> 3195 <div class="rv3-name">Jamorris S.</div> 3196 <div class="rv3-meta">App Store · Verified</div> 3197 </div> 3198 </div> 3199 </div> 3200 </div> 3201 </div> 3202 3203 <div class="rv3-marquee"> 3204 <div class="rv3-marquee-track"> 3205 <div class="rv3-marquee-card"> 3206 <div class="rv3-stars">â â â â â </div> 3207 <p class="rv3-text">"It has really changed my life. At first I thought it would just be cool for journaling, but instead I ended up using it as a to-do app, planner, and habit and goal tracker"</p> 3208 <div class="rv3-author"> 3209 <span class="rv3-avatar av-a">KT</span> 3210 <div> 3211 <div class="rv3-name">ktwwer</div> 3212 </div> 3213 </div> 3214 </div> 3215 <div class="rv3-marquee-card"> 3216 <div class="rv3-stars">â â â â â </div> 3217 <p class="rv3-text">"One easy to use app for tasks, projects, calendar, notes and personal productivity"</p> 3218 <div class="rv3-author">
3219 <span class="rv3-avatar av-b">JE</span> 3220 <div> 3221 <div class="rv3-name">JeremyKen</div> 3222 </div> 3223 </div> 3224 </div> 3225 <div class="rv3-marquee-card"> 3226 <div class="rv3-stars">â â â â â </div> 3227 <p class="rv3-text">"A simple and great way to organize routines, with the ability to customize everything for yourself"</p> 3228 <div class="rv3-author"> 3229 <span class="rv3-avatar av-c">WS</span> 3230 <div> 3231 <div class="rv3-name">Walter S.</div> 3232 </div> 3233 </div> 3234 </div> 3235 <div class="rv3-marquee-card"> 3236 <div class="rv3-stars">â â â â â </div> 3237 <p class="rv3-text">"The first productivity app with built-in meditation tracker!"</p> 3238 <div class="rv3-author"> 3239 <span class="rv3-avatar av-d">KA</span> 3240 <div> 3241 <div class="rv3-name">Kedrick A.</div> 3242 </div> 3243 </div> 3244 </div> 3245 <div class="rv3-marquee-card"> 3246 <div class="rv3-stars">â â â â â </div> 3247 <p class="rv3-text">"Great design and user-friendly interface! Task management has never been so convenient!"</p> 3248 <div class="rv3-author"> 3249 <span class="rv3-avatar av-a">NA</span> 3250 <div> 3251 <div class="rv3-name">Nathant</div> 3252 </div> 3253 </div> 3254 </div> 3255 <div class="rv3-marquee-card"> 3256 <div class="rv3-stars">â â â â â </div> 3257 <p class="rv3-text">"It has really changed my life. At first I thought it would just be cool for journaling, but instead I ended up using it as a to-do app, planner, and habit and goal tracker"</p> 3258 <div class="rv3-author"> 3259 <span class="rv3-avatar av-a">KT</span> 3260 <div> 3261 <div class="rv3-name">ktwwer</div> 3262 </div> 3263 </div> 3264 </div> 3265 <div class="rv3-marquee-card"> 3266 <div class="rv3-stars">â â â â â </div> 3267 <p class="rv3-text">"One easy to use app for tasks, projects, calendar, notes and personal productivity"</p> 3268 <div class="rv3-author"> 3269 <span class="rv3-avatar av-b">JE</span> 3270 <div> 3271 <div class="rv3-name">JeremyKen</div> 3272 </div> 3273 </div> 3274 </div> 3275 <div class="rv3-marquee-card"> 3276 <div class="rv3-stars">â â â â â </div> 3277 <p class="rv3-text">"A simple and great way to organize routines, with the ability to customize everything for yourself"</p> 3278 <div class="rv3-author"> 3279 <span class="rv3-avatar av-c">WS</span> 3280 <div> 3281 <div class="rv3-name">Walter S.</div> 3282 </div> 3283 </div> 3284 </div> 3285 <div class="rv3-marquee-card"> 3286 <div class="rv3-stars">â â â â â </div> 3287 <p class="rv3-text">"The first productivity app with built-in meditation tracker!"</p> 3288 <div class="rv3-author">
3289 <span class="rv3-avatar av-d">KA</span> 3290 <div> 3291 <div class="rv3-name">Kedrick A.</div> 3292 </div> 3293 </div> 3294 </div> 3295 <div class="rv3-marquee-card"> 3296 <div class="rv3-stars">â â â â â </div> 3297 <p class="rv3-text">"Great design and user-friendly interface! Task management has never been so convenient!"</p> 3298 <div class="rv3-author"> 3299 <span class="rv3-avatar av-a">NA</span> 3300 <div> 3301 <div class="rv3-name">Nathant</div> 3302 </div> 3303 </div> 3304 </div> 3305 </div> 3306 </div> 3307 </div> 3308 3309 3310 3311 <div class="section bg3-section"> 3312 <div class="bg3-eyebrow">From the blog</div> 3313 <h2 class="bg3-title">Field notes on planning & productivity</h2> 3314 <p class="bg3-lead">Hand-picked essays from the Brite team.</p> 3315 3316 <div class="bg3-grid"> 3317 3318 <a href="/article/How-to-prioritize-tasks:- practical-methods-for-work-and-personal-life" class="bg3-card"> 3319 <div class="bg3-visual bg3-v-1"> 3320 <div class="bg3-tag">How to</div> 3321 <div class="bg3-mock"> 3322 <span class="bg3-mock-row"></span> 3323 <span class="bg3-mock-row bg3-mock-row-2"></span> 3324 <span class="bg3-mock-row bg3-mock-row-3"></span> 3325 <span class="bg3-mock-row bg3-mock-row-4"></span> 3326 </div> 3327 </div> 3328 <div class="bg3-body"> 3329 <h3 class="bg3-card-title">How to prioritize tasks: practical methods for work and personal life</h3> 3330 <p class="bg3-card-text">What is prioritizing tasks?When you have a lot of tasks to do, it can be difficult to know where to start. That's where prioritizing comes in. Prioritizing is the process of determining which tasks are the most important...</p> 3331 <span class="bg3-readmore">Read article <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg></span> 3332 </div> 3333 </a> 3334 3335 <a href="/article/Best-Mood-Tracker-Apps-for-2023-%28Paid-and-Free%29" class="bg3-card"> 3336 <div class="bg3-visual bg3-v-2"> 3337 <div class="bg3-tag">Roundup</div> 3338 <div class="bg3-mock-chart"> 3339 <span class="bg3-mock-bar" style="height:30%"></span> 3340 <span class="bg3-mock-bar" style="height:55%"></span> 3341 <span class="bg3-mock-bar" style="height:75%"></span> 3342 <span class="bg3-mock-bar" style="height:60%"></span> 3343 <span class="bg3-mock-bar" style="height:90%"></span> 3344 <span class="bg3-mock-bar" style="height:70%"></span> 3345 <span class="bg3-mock-bar" style="height:85%"></span> 3346 </div> 3347 </div> 3348 <div class="bg3-body"> 3349 <h3 class="bg3-card-title">Best Mood Tracker Apps in 2023 (Paid and Free)</h3> 3350 <p class="bg3-card-text">How often have you been out of sorts lately? Or do you feel you're on top of the world and want to catch the reason?...</p> 3351 <span class="bg3-readmore">Read article <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg></span> 3352 </div> 3353 </a> 3354 3355 <a href="/article/Why-You-Should-Eat-the-Frog-First-Thing-in-the-Morning-The-Meaning-and-Method-of-Increased-Productivity" class="bg3-card"> 3356 <div class="bg3-visual bg3-v-3"> 3357 <div class="bg3-tag">Method</div> 3358 <div class="bg3-mock-tasks">
3359 <span class="bg3-mock-task done"><span class="bg3-mock-check"></span>Big task</span> 3360 <span class="bg3-mock-task"><span class="bg3-mock-check"></span>Email reply</span> 3361 <span class="bg3-mock-task"><span class="bg3-mock-check"></span>Read 30 min</span> 3362 </div> 3363 </div> 3364 <div class="bg3-body"> 3365 <h3 class="bg3-card-title">Procrastinate No More Using the Eating a Frog Method</h3> 3366 <p class="bg3-card-text">Is procrastination getting the best of you?The eat that frog method is an approach to productivity that suggests you should do the most difficult and important task of your day first. Named for the analogy that itâs be...</p> 3367 <span class="bg3-readmore">Read article <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg></span> 3368 </div> 3369 </a> 3370 3371 </div> 3372</div> 3373 3374 <!-- Compare section --> 3375 <div class="section cmp3-section"> 3376 <div class="cmp3-eyebrow">Compare</div> 3377 <h2 class="cmp3-title">How Brite Compares</h2> 3378 <p class="cmp3-lead">See how Brite stacks up against popular productivity apps</p> 3379 <div class="cmp3-pills"> 3380 <a href="/brite-vs-todoist" class="cmp3-pill">Brite vs Todoist</a> 3381 <a href="/brite-vs-ticktick" class="cmp3-pill">Brite vs TickTick</a> 3382 <a href="/brite-vs-notion" class="cmp3-pill">Brite vs Notion</a> 3383 <a href="/brite-vs-any-do" class="cmp3-pill">Brite vs Any.do</a> 3384 <a href="/brite-vs-habitica" class="cmp3-pill">Brite vs Habitica</a> 3385 </div> 3386 </div> 3387 3388 <!-- ============= FINAL CTA â dark gradient ============= --> 3389 <div class="section fcta3-section"> 3390 <div class="fcta3-card"> 3391 <h2 class="fcta3-title">Your all-in-one daily planner.</h2> 3392 <p class="fcta3-lead">Plan your day, your week, your life â with one app instead of five. Free to start, Pro when you're ready. Cancel anytime.</p>
3393 <div class="fcta3-actions"> 3394 <button class="fcta3-btn fcta3-btn-primary authreg" onclick="if(typeof pintrk!=='undefined')pintrk('track','try_for_free_click');if(typeof gtag!=='undefined')gtag('event','open_reg_modal',{'event_name':'open_reg_modal','source':'final_cta'});">Start Brite â free</button> 3395 <a href="/pricing" class="fcta3-btn fcta3-btn-ghost">See pricing <span aria-hidden="true">â</span></a> 3396 </div> 3397 <div class="fcta3-stores"> 3398 <a href="https://apps.apple.com/app/apple-store/id1519999420?pt=121300042&ct=website&mt=8" target="_blank" rel="noopener" class="fcta3-store"> 3399 <svg viewBox="0 0 24 24" fill="currentColor" width="22" height="22"><path d="M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z"/></svg> 3400 <div class="fcta3-store-text"><small>Download on the</small>App Store</div> 3401 </a> 3402 <a href="https://play.google.com/store/apps/details?id=io.konveier.timo" target="_blank" rel="noopener" class="fcta3-store"> 3403 <svg viewBox="0 0 24 24" fill="currentColor" width="22" height="22"><path d="M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 01-.61-.92V2.734a1 1 0 01.609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-3.198l2.807 1.626a1 1 0 010 1.73l-2.808 1.626L15.119 12l2.579-2.491zM5.864 2.658L16.802 8.99l-2.303 2.303L5.864 2.658z"/></svg> 3404 <div class="fcta3-store-text"><small>Get it on</small>Google Play</div> 3405 </a> 3406 </div> 3407 </div> 3408 </div> 3409 3410 <!-- ============= GLOBAL SCROLL-REVEAL ============= --> 3411 <style> 3412 .sr-fade { opacity: 0; transform: translateY(28px); transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); will-change: opacity, transform; } 3413 .sr-fade.is-visible { opacity: 1; transform: translateY(0); } 3414 .sr-fade[data-sr-delay="1"] { transition-delay: .08s; } 3415 .sr-fade[data-sr-delay="2"] { transition-delay: .16s; } 3416 .sr-fade[data-sr-delay="3"] { transition-delay: .24s; } 3417 @media (prefers-reduced-motion: reduce) { .sr-fade { opacity:1 !important; transform:none !important; transition:none !important; } } 3418 </style> 3419
3419<script> 3420 (function(){ 3421 var TARGETS = '.hfs-section .hfs-head, .hfs-section .hfs-card, .fts-section .fts-head, .fts-section .fts-grid, .cmp-section .cmp-eyebrow, .cmp-section .cmp-title, .cmp-section .cmp-lead, .cmp-section .device-wall, .int3-section, .int3-card, section.hfs-section h2, .fcta3, .reviews-row'; 3422 var nodes = document.querySelectorAll(TARGETS); 3423 if (!nodes.length) return; 3424 nodes.forEach(function(n, i){ 3425 n.classList.add('sr-fade'); 3426 if (i % 3 === 1) n.setAttribute('data-sr-delay', '1'); 3427 else if (i % 3 === 2) n.setAttribute('data-sr-delay', '2'); 3428 }); 3429 if (!('IntersectionObserver' in window)) { 3430 nodes.forEach(function(n){ n.classList.add('is-visible'); }); 3431 return; 3432 } 3433 var io = new IntersectionObserver(function(entries){ 3434 entries.forEach(function(e){ 3435 if (e.isIntersecting) { e.target.classList.add('is-visible'); io.unobserve(e.target); } 3436 }); 3437 }, { threshold: 0.12, rootMargin: '0px 0px -60px 0px' }); 3438 nodes.forEach(function(n){ 3439 var rect = n.getBoundingClientRect(); 3440 if (rect.top < window.innerHeight && rect.bottom > 0) { 3441 n.classList.add('is-visible'); 3442 } else { 3443 io.observe(n); 3444 } 3445 }); 3446 })(); 3447 </script>
3447 3448 3449 3450 3451<!-- <div class="section start-section">--> 3452<!-- <div class="title">--><!--</div>--> 3453<!-- <button class="btn btn_purple login_button authreg" onclick="gtag('event', 'open_reg_modal', {'event_name': 'open_reg_modal'});">--><!--</button>--> 3454<!-- </div>--> 3455 3456<!-- hero-wrapper close--> 3457 3458<div class="section start-section hidden"> 3459 <div class="title">Get started today</div> 3460 <div class="review-container konv-flex-row konv-w-100" style="justify-content: center; align-items: center; margin-top: 20px;"> 3461 3462 <div class="icon-container konv-flex-row" style="color: #FCB500"> 3463 âââââ 3464 </div> 3465 3466 <span style="margin-left:5px; font-size:100%;" class="translateble"> 25000+ Reviews </span> 3467 3468 </div> 3469 3470 <div class="review-container konv-flex-row konv-w-70" style="margin:auto; margin-top:10px; justify-content: center; align-items: center; text-align: center;"> 3471 <span style="font-size:100%;" class="translateble"> Join 1M+ people using Brite</span> 3472 3473 </div> 3474 <button class="btn btn_purple login_button authreg" onclick="pintrk('track', 'try_for_free_click');gtag('event', 'open_reg_modal', {'event_name': 'open_reg_modal'});">Start Brite for free</button> 3475 3476</div> 3477</div> 3478</div> 3479 3480<footer class="footer"> 3481 <div class="footer_wrapper"> 3482 <div class="footer_container"> 3483 <div class="footer_column"> 3484 <div class="title">Product</div> 3485 <div class="links_container"> 3486 3487 <a href="https://britetodo.com/pricing">Pricing</a> 3488 <a href="https://britetodo.com/features">Features</a> 3489 <a href="https://britetodo.com/teams">Teams</a> 3490 <a href="https://britetodo.com/roadmap">Roadmap</a> 3491 3492 <a href="https://britetodo.com/downloads" target="_blank">Download apps</a> 3493 3494 </div> 3495 </div> 3496 <div class="footer_column"> 3497 <div class="title">Resources</div> 3498 <div class="links_container"> 3499 <a href="https://britetodo.com/blog">Blog</a> 3500 <a href="https://britetodo.com/knowledgebase">Knowledge base</a> 3501 <a href="https://impresskit.net/briteapp" target="_blank">Media Kit</a> 3502 </div> 3503 </div> 3504 <div class="footer_column"> 3505 <div class="title">Company</div> 3506 <div class="links_container"> 3507 <a href="https://britetodo.com/legal/PrivacyPolicyBrite.pdf">Privacy policy</a> 3508 <a href="https://www.reddit.com/r/Brite_app/" target="_blank">Reddit</a> 3509 <a href="https://britecommunity.slack.com/ssb/redirect" target="_blank">Slack</a> 3510 <a href="https://instagram.com/brite_app?utm_medium=copy_link" target="_blank">Instagram</a> 3511 <a href="https://twitter.com/BriteTodo" target="_blank">Twitter</a> 3512 <a href="https://ru.pinterest.com/BriteApp/" target="_blank">Pinterest</a> 3513 3514 3515 3516 <div class="language-selector"> 3517 <div class="custom-select" onclick="toggleSelect(this)"> 3518 <div class="selected-flag"> 3519 <img src="/img/devmedia/flags/us.svg" alt="en" width="24" height="16"> 3520 </div> 3521 <div class="select-options"> 3522 <div class="select-option" onclick="selectLanguage('en')"> 3523 <img src="/img/devmedia/flags/us.svg" alt="en" width="24" height="16" loading="lazy" decoding="async"> 3524 <span style="color:#5b5b5b">English</span> 3525 </div> 3526 <div class="select-option" onclick="selectLanguage('ru')"> 3527 <img src="/img/devmedia/flags/ru.svg" alt="ru" width="24" height="16" loading="lazy" decoding="async">
3528 <span style="color:#5b5b5b">Ð ÑÑÑкий</span> 3529 </div> 3530 <div class="select-option" onclick="selectLanguage('de')"> 3531 <img src="/img/devmedia/flags/de.svg" alt="de" width="24" height="16" loading="lazy" decoding="async"> 3532 <span style="color:#5b5b5b">Deutsch</span> 3533 </div> 3534 <div class="select-option" onclick="selectLanguage('es')"> 3535 <img src="/img/devmedia/flags/es.svg" alt="es" width="24" height="16" loading="lazy" decoding="async"> 3536 <span style="color:#5b5b5b">Español</span> 3537 </div> 3538 <div class="select-option" onclick="selectLanguage('fr')"> 3539 <img src="/img/devmedia/flags/fr.svg" alt="fr" width="24" height="16" loading="lazy" decoding="async"> 3540 <span style="color:#5b5b5b">Français</span> 3541 </div> 3542 <div class="select-option" onclick="selectLanguage('pt')"> 3543 <img src="/img/devmedia/flags/pt.svg" alt="pt" width="24" height="16" loading="lazy" decoding="async"> 3544 <span style="color:#5b5b5b">Português</span> 3545 </div> 3546 <div class="select-option" onclick="selectLanguage('br')"> 3547 <img src="/img/devmedia/flags/br.svg" alt="br" width="24" height="16" loading="lazy" decoding="async"> 3548 <span style="color:#5b5b5b">Português (BR)</span> 3549 </div> 3550 <div class="select-option" onclick="selectLanguage('sv')"> 3551 <img src="/img/devmedia/flags/sv.svg" alt="sv" width="24" height="16" loading="lazy" decoding="async"> 3552 <span style="color:#5b5b5b">Svenska</span> 3553 </div> 3554 <div class="select-option" onclick="selectLanguage('nl')"> 3555 <img src="/img/devmedia/flags/nl.svg" alt="nl" width="24" height="16" loading="lazy" decoding="async"> 3556 <span style="color:#5b5b5b">Nederlands</span> 3557 </div> 3558 <div class="select-option" onclick="selectLanguage('zh')"> 3559 <img src="/img/devmedia/flags/cn.svg" alt="zh" width="24" height="16" loading="lazy" decoding="async"> 3560 <span style="color:#5b5b5b">䏿</span> 3561 </div> 3562 <div class="select-option" onclick="selectLanguage('ja')"> 3563 <img src="/img/devmedia/flags/jp.svg" alt="ja" width="24" height="16" loading="lazy" decoding="async"> 3564 <span style="color:#5b5b5b">æ¥æ¬èª</span> 3565 </div> 3566 <div class="select-option" onclick="selectLanguage('ko')"> 3567 <img src="/img/devmedia/flags/kr.svg" alt="ko" width="24" height="16" loading="lazy" decoding="async"> 3568 <span style="color:#5b5b5b">íêµì´</span> 3569 </div> 3570 </div> 3571 </div> 3572 </div> 3573 <form id="lang-form" method="get" style="display:none;"> 3574 <input type="hidden" name="lang" id="lang-input"> 3575 </form> 3576 3577 </div> 3578 </div> 3579 </div> 3580 </div> 3581 3582 <div class="copyright">2026 Copyright Brite LLC</div> 3583 3584 <div style="display: none;">
3585 <span class="translate_signin">Sign in</span> 3586 <span class="translate_email">Email</span> 3587 <span class="translate_password">Password</span> 3588 <span class="translate_signin_button">Login</span> 3589 <span class="translate_appleid">Continue with AppleId</span> 3590 <span class="translate_signUp">Sign Up</span> 3591 <span class="translate_cont_email">Continue with Email</span> 3592 <span class="translate_register">Register</span> 3593 <span class="translate_frgt_pass">Forgot your password?</span> 3594 <span class="translate_login">Login</span> 3595 <span class="translate_already_acc">Already have an account?</span> 3596 <span class="translate_policy">By continuing, you agree to the</span> 3597 <span class="translate_policy_title">Privacy Policy</span> 3598 <span class="translate_terms">Terms of Use</span> 3599 3600 </div> 3601</footer> 3602 3603<!-- jQuery dropped from here â loaded once in header.php (3.7.1) --> 3604<!-- Bundle: aos.js + app.js + new.js (was 3 separate files) -->
3605<script src="/js/bundle.js?v=0.29"></script>
3605 3606<!-- Swiper now loaded lazily via IntersectionObserver in bundle.js (when carousel near viewport) --> 3607
3608<script> 3609 3610 3611 3612 3613 if(isMobile == null){ 3614 3615 3616 $('.hide-if-desktop').hide() 3617 }else{ 3618 3619 $('.hide-if-mobile').hide() 3620 } 3621 3622 function checkVisibility() { 3623 // Check visibility for elements with the 'hidden' class 3624 $('.hidden').each(function() { 3625 var $element = $(this), 3626 topOfElement = $element.offset().top, 3627 bottomOfElement = $element.offset().top + $element.outerHeight(), 3628 viewportTop = $(window).scrollTop(), 3629 viewportBottom = viewportTop + $(window).height(); 3630 3631 // Check if the element is within the viewport 3632 if (bottomOfElement > viewportTop && topOfElement < viewportBottom && !$element.hasClass('visible')) { 3633 $element.addClass('visible'); // Add the visible class immediately without delay 3634 } 3635 }); 3636 3637 // Check visibility and lazy load background images 3638 $('.lazy-bg').each(function() { 3639 var $element = $(this), 3640 topOfElement = $element.offset().top - 500, 3641 bottomOfElement = $element.offset().top + $element.outerHeight(), 3642 viewportTop = $(window).scrollTop(), 3643 viewportBottom = viewportTop + $(window).height(); 3644 3645 // Check if the element is within the viewport 3646 if (bottomOfElement > viewportTop && topOfElement < viewportBottom && !$element.hasClass('lazy-bg-loaded')) { 3647 var imgSrc = $element.data('imgsrcurl'); // Get the image URL from the data attribute 3648 if (imgSrc) { 3649 $element.addClass('konv-fade-in'); 3650 $element.css('background-image', `url(${imgSrc})`); // Set the background image 3651 $element.addClass('lazy-bg-loaded'); // Add a class once the image is loaded 3652 } 3653 } 3654 }); 3655 } 3656 3657 // Throttle the scroll event to improve performance 3658 let throttleTimeout; 3659 $(window).on('scroll', function() { 3660 if (!throttleTimeout) { 3661 throttleTimeout = setTimeout(function() { 3662 throttleTimeout = null; 3663 checkVisibility(); 3664 }, 100); // Adjust the delay to balance performance and responsiveness 3665 } 3666 }); 3667 3668 // Initial check 3669 checkVisibility(); 3670 3671 3672 3673</script>
3673 3674 3675<!-- Google Tag Manager --> 3676
3677<script> 3678 // Pinterest tag â lazy-loaded на пеÑвое взаимодейÑÑвие или ÑеÑез 4s idle. 3679 // pintrk() stub ÑобиÑÐ°ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð² оÑеÑедÑ; ÑеалÑнÑй core.js Ð¿Ð¾Ð´Ñ Ð²Ð°ÑÐ¸Ñ Ð¸Ñ Ð¿Ñи загÑÑзке. 3680 if (!window.pintrk) { 3681 window.pintrk = function() { 3682 window.pintrk.queue.push(Array.prototype.slice.call(arguments)); 3683 }; 3684 window.pintrk.queue = []; 3685 window.pintrk.version = "3.0"; 3686 } 3687 pintrk('load', '2614048183968', {em: '<user_email_address>'}); 3688 pintrk('page'); 3689 3690 (function() { 3691 var loaded = false; 3692 function loadPinterest() { 3693 if (loaded) return; 3694 loaded = true; 3695 var t = document.createElement("script"); 3696 t.async = true; 3697 t.src = "https://s.pinimg.com/ct/core.js"; 3698 var r = document.getElementsByTagName("script")[0]; 3699 r.parentNode.insertBefore(t, r); 3700 // ÑнÑÑÑ Ð¾Ð±ÑабоÑÑики, ÑÑÐ¾Ð±Ñ Ð½Ðµ виÑели 3701 ['scroll','mousemove','touchstart','keydown','click'].forEach(function(ev){ 3702 window.removeEventListener(ev, loadPinterest, { passive: true }); 3703 }); 3704 } 3705 // ÐеÑвое взаимодейÑÑвие или 4 ÑекÑÐ½Ð´Ñ idle â ÑÑо наÑÑÑÐ¿Ð¸Ñ ÑанÑÑе 3706 ['scroll','mousemove','touchstart','keydown','click'].forEach(function(ev){ 3707 window.addEventListener(ev, loadPinterest, { passive: true, once: true }); 3708 }); 3709 if ('requestIdleCallback' in window) { 3710 requestIdleCallback(loadPinterest, { timeout: 4000 }); 3711 } else { 3712 setTimeout(loadPinterest, 4000); 3713 } 3714 })(); 3715</script>
3715 3716 3717<noscript> 3718 <img height="1" width="1" style="display:none;" alt="" 3719 src="https://ct.pinterest.com/v3/?event=init&tid=2614048183968&pd[em]=<hashed_email_address>&noscript=1" /> 3720</noscript> 3721<!-- new.js now in bundle.js --> 3722<!-- Yandex.Metrika counter -->
3723<script type="text/javascript"> 3724 3725 (function (m, e, t, r, i, k, a) { 3726 m[i] = m[i] || function () { 3727 (m[i].a = m[i].a || []).push(arguments) 3728 }; 3729 m[i].l = 1 * new Date(); 3730 k = e.createElement(t); 3731 a = e.getElementsByTagName(t)[0]; 3732 k.src = r; 3733 // Load synchronously by setting async to false 3734 k.async = true; 3735 a.parentNode.insertBefore(k, a); 3736 })(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); 3737 ym(75618034, "init", {clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true}); 3738</script>
3738 3739<noscript> 3740 <div><img src="https://mc.yandex.ru/watch/75618034" style="position:absolute; left:-9999px;" alt="" /></div> 3741</noscript> 3742 3743 3744 3745 3746<!-- Preconnect to third-party domains to reduce latency for all users --> 3747<link rel="preconnect" href="https://cdn.tolt.io"> 3748<link rel="preconnect" href="https://www.googletagmanager.com"> 3749<link rel="preconnect" href="https://appleid.cdn-apple.com"> 3750<link rel="preconnect" href="https://apis.google.com"> 3751 3752 3753
3753<script> 3754 if (localStorage.affiliateBr !== undefined) { 3755 history.pushState('data', '', 'https://britetodo.com/' + localStorage.affiliateBr); 3756 } 3757 </script>
3757 3758 3759 <!-- Load Tolt script async and deferred --> 3760
3760<script async defer src="https://cdn.tolt.io/tolt.js" data-tolt="fae5bb70-7ab4-4d8b-9ef4-333f0e0fd694"></script>
3760 3761 3762 3763<!-- Google Tag Manager Script -->
vendor: 70 bytes, lines 3763-3764
3763 3764<script async defer src="https://www.googletagmanager.com/gtag/js?id=
3764G-H0KF8WTYTK
vendor: 12 bytes, line 3764
3764"></script>
3765<script>
vendor: 374 bytes, lines 3765-3770
3765 3766 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 3767 new Date().getTime(), event:'gtm.js'}); var f=d.getElementsByTagName(s)[0], 3768 j=d.createElement(s), dl=l!='dataLayer'?'&l='+l:''; j.async=true; j.src= 3769 'https://www.googletagmanager.com/gtm.js?id='+i+dl; f.parentNode.insertBefore(j,f); 3770 })(window, document, 'script', 'dataLayer', '
3770GTM-T7KR74TZ
vendor: 4 bytes, line 3770
3770');
3771</script>
3771 3772 3773<!-- Google Tag Manager (noscript) - This runs only if JavaScript is disabled -->
vendor: 73 bytes, lines 3773-3775
3773 3774<noscript> 3775 <iframe src="https://www.googletagmanager.com/ns.html?id=
3775GTM-T7KR74TZ
vendor: 85 bytes, lines 3775-3777
3775" height="0" width="0" style="display:none;visibility:hidden"></iframe> 3776</noscript> 3777
3778<!-- Apple/Google Sign-In SDKs â lazy-loaded on first authreg interaction or 6s idle -->
3779<script> 3780(function(){ 3781 var APPLE_SRC = 'https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js'; 3782 var GOOGLE_SRC = 'https://apis.google.com/js/platform.js'; 3783 var loaded = false; 3784 function loadAuthSDKs() { 3785 if (loaded) return; 3786 loaded = true; 3787 function add(src) { 3788 var s = document.createElement('script'); 3789 s.src = src; 3790 s.async = true; 3791 s.defer = true; 3792 document.head.appendChild(s); 3793 } 3794 add(APPLE_SRC); 3795 add(GOOGLE_SRC); 3796 // remove triggers â болÑÑе не нÑÐ¶Ð½Ñ 3797 document.removeEventListener('click', onClick, true); 3798 document.removeEventListener('touchstart', onClick, true); 3799 } 3800 // ТÑиггеÑÑ: лÑбой клик/Ñап по .authreg или его поÑомкам, .google, .apple, #gSignIn 3801 function onClick(e) { 3802 var t = e.target; 3803 if (!t || !t.closest) return; 3804 if (t.closest('.authreg, .google, .apple, #gSignIn, .login_button, [data-auth-trigger]')) { 3805 loadAuthSDKs(); 3806 } 3807 } 3808 document.addEventListener('click', onClick, true); 3809 document.addEventListener('touchstart', onClick, true); 3810 // РезеÑв: idle-загÑÑзка ÑеÑез 6 ÑекÑнд (еÑли ÑÐ·ÐµÑ Ð½Ðµ кликнÑл Ñам) 3811 if ('requestIdleCallback' in window) { 3812 requestIdleCallback(loadAuthSDKs, { timeout: 6000 }); 3813 } else { 3814 setTimeout(loadAuthSDKs, 6000); 3815 } 3816 // ÐÑогÑаммнÑй клик ($('.authreg').click()) Ñоже ÑÑабоÑÐ°ÐµÑ ÑеÑез addEventListener('click', ..., true) 3817})(); 3818</script>
3818 3819 3820
3821<script> 3822 3823 3824 var trackAffliate = window.location.href; 3825 3826 3827 if(trackAffliate.includes('?ref')){ 3828 3829 var captureAffliate = trackAffliate.split('?ref')[1]; 3830 3831 localStorage.affiliateBr = '?ref' + captureAffliate 3832 3833 } 3834 3835 if(trackAffliate.includes('invite')){ 3836 3837 3838 localStorage.briteInviteLink = trackAffliate; 3839 setTimeout(function(){ 3840 $('.authreg').click(); 3841 }, 300) 3842 3843 3844 } 3845 3846
vendor: 140 bytes, lines 3846-3850
3846window.dataLayer = window.dataLayer || []; 3847 function gtag(){dataLayer.push(arguments);} 3848 gtag('js', new Date()); 3849 3850 gtag('config', '
3850G-H0KF8WTYTK
vendor: 5 bytes, lines 3850-3851
3850'); 3851
3852</script>
3852 3853<!-- Meta Pixel Code -->
3854<script>
vendor: 459 bytes, lines 3854-3863
3854 3855 !function(f,b,e,v,n,t,s) 3856 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 3857 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 3858 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 3859 n.queue=[];t=b.createElement(e);t.async=!0; 3860 t.src=v;s=b.getElementsByTagName(e)[0]; 3861 s.parentNode.insertBefore(t,s)}(window, document,'script', 3862 'https://connect.facebook.net/en_US/fbevents.js'); 3863 fbq('init', '
3863553029339752420
vendor: 34 bytes, lines 3863-3864
3863'); 3864 fbq('track', 'PageView');
3865</script>
3865 3866<noscript><img height="1" width="1" style="display:none" 3867 src="https://www.facebook.com/tr?id=553029339752420&ev=PageView&noscript=1" 3868 /></noscript> 3869<!-- End Meta Pixel Code --> 3870<!--<noscript><div><img src="https://mc.yandex.ru/watch/91400263" style="position:absolute; left:-9999px;" alt="" /></div></noscript>--> 3871<!-- /Yandex.Metrika counter --> 3872 3873 3874
3875<script> 3876 3877
vendor: 130 bytes, line 3877
3877window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag("js", new Date()); gtag("config", "
3877G-G36KRTED02
vendor: 11 bytes, lines 3877-3881
3877"); 3878 3879 3880 3881
3881var authSecret = undefined; 3882 3883 3884 3885 3886 3887 function briteGoProceed(data){ 3888 3889 3890 3891 spinner({ 3892 target : $(document.body), 3893 duration : 6000, 3894 }); 3895 3896 if(reg == true){ 3897 var dd = UGET('lt_userid'); 3898 3899 jQuery.ajax({ 3900 type: "POST", 3901 url: controllerpath, 3902 data: { 3903 'action': 'complete-user-registration', 3904 'tm_email': $('.email-timo-reg').val(), 3905 'lt_id': $('.password-timo-reg').val(), 3906 'lt_userid' : sdfIEokD13lsri$2ss() 3907 3908 }, success: function (info) { 3909 3910 3911 if(info == 'alreadyExist'){ 3912 3913 regErrorBrite(getLocale('ÐолÑзоваÑÐµÐ»Ñ Ñ Ñаким email Ñже заÑегиÑÑÑиÑован')) 3914 return; 3915 } 3916 3917 UUPDATE('tm_email', $('.email-timo-reg').val()) 3918 UUPDATE('tm_user_status', 'registered'); 3919 // $('#signup-additional-menu').replaceWith('<div class="konv-flex-row-start">' + 3920 // ' <div class="konv-user-icon-l menu-account konv-marg-r-20" id="additional-menu-user-button" data-stats="" style="' + avatarMenu + '">'+avatarInner+'</div>' + 3921 // ' <div class="konv-flex-col-start">' + 3922 // ' <div id="userNameInmenu" class="konv-text konv-t-xxxl konv-strong konv-marg-b-10">'+UGET('lt_name')+'</div>' + 3923 // ' <div class="days-with-brite konv-text">'+daysWithBrite+' '+getLocale('Ð´ÐµÐ½Ñ Ð²Ð¼ÐµÑÑе Ñ Brite')+'</div>' + 3924 // ' </div>' + 3925 // '<i class="user-angle fal fa-angle-right konv-text"></i>' + 3926 // '</div>') 3927 3928 konvapp.elements.globalFilters.showMobileMenu() 3929 closemodal('.reg-modal'); 3930 3931 3932 app.dialog.preloader(getLocale('Создаем аккаÑнÑ')); 3933 setTimeout(function () { 3934 app.dialog.close(); 3935 3936 app.dialog.create({ 3937 title: getLocale('ÐÑ Ð·Ð°ÑегиÑÑÑиÑовалиÑÑ!'), 3938 text: getLocale('ТепеÑÑ Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе войÑи Ñ ÑÑими даннÑми в веб веÑÑиÑ'), 3939 buttons: [ 3940 { 3941 text: getLocale('ÐÑлиÑно'), 3942 }, 3943 ], 3944 verticalButtons: true, 3945 }).open(); 3946 3947 3948 3949 },1000) 3950 3951 jQuery.ajax({ 3952 type: "POST", 3953 url: controllerpath, 3954 data: { 3955 'action': 'http://britetodo.com/sendmail.php', 3956 'hlk123ldksfj': $('.email-timo-reg').val(), 3957 'lt_id': $('.password-timo-reg').val(), 3958 'lt_userid': sdfIEokD13lsri$2ss() 3959 3960 }, success: function (info) { 3961 3962 } 3963 }) 3964 } 3965 }) 3966 return; 3967 } 3968 3969 var typeAuth = 'mobile' 3970 var userStatus = 'new'; 3971 if(isMobile == null){ 3972 typeAuth = 'desktop'; 3973 // userStatus = 'registered'; 3974 } 3975 3976 function convertTZ(date, tzString) { 3977 return new Date((typeof date === "string" ? new Date(date) : date).toLocaleString("en-US", {timeZone: tzString})); 3978 } 3979 3980 var morningNotinfTime = new Date(); 3981 3982 morningNotinfTime.setHours(9) 3983 morningNotinfTime = convertTZ(morningNotinfTime, "Europe/Moscow") 3984 3985 var finalMorningNotif = morningNotinfTime.getHours() 3986 3987 if(finalMorningNotif < 10){ 3988 finalMorningNotif = '0'+finalMorningNotif; 3989 } 3990 3991 finalMorningNotif = finalMorningNotif + ':00'; 3992 3993 var eveningNotifTime = new Date(); 3994 3995 eveningNotifTime.setHours(22) 3996 eveningNotifTime = convertTZ(eveningNotifTime, "Europe/Moscow") 3997 3998 var finalEveningTime = eveningNotifTime.getHours() 3999 4000 if(finalEveningTime < 10){ 4001 finalEveningTime = '0'+finalEveningTime; 4002 } 4003 finalEveningTime = finalEveningTime + ':00'; 4004 4005 jQuery.ajax({ 4006 type: "POST", 4007 url: controllerpath, 4008 data: { 4009 'action': 'add-check-new-timo', 4010 'email': data.email, 4011 'login': data.email, 4012 'pass': data.idBrite, 4013 'time' : briteGetTimeIso(), 4014 'language' : navigator.language, 4015 'ab' : generateAbGroup(), 4016 'userstatus' : userStatus, 4017 'timezone' : 'GMT ' + timezone, 4018 'type' : typeAuth, 4019 'authLogic' : data.authLogic, 4020 'mode' : data.mode, 4021 'day_config' : JSON.stringify([ 4022 {"widgetType":"daily"}, 4023 {"widgetType":"privateTasks"}, 4024 {"widgetType":"todayNote"}, 4025 {"widgetType":"quotes"}, 4026 {"widgetType":"diary"} 4027 ]), 4028 'tm_preferences' : JSON.stringify({ 4029 "temperature": "metric", 4030 "notifications" : [ 4031 {"name": "daybegin", "status": "enabled", "time" : finalMorningNotif}, 4032 {"name": "tips", "status": "enabled", "tipstime" : finalEveningTime}, 4033 {"name": "dayConcludeTime", "status": "enabled", "concludeTime" : finalEveningTime} 4034 ], 4035 "weekbegin": "monday", 4036 "daybeginformat": "auto", 4037 "dayBeginTime":"09:00", 4038 "timeformat": "12:00", 4039 "sounds": "on", 4040 "cheerup" : "on", 4041 "sidebarconfig" : [ 4042 {"widgetType": "feed", "period": "default"}, 4043 {"widgetType": "pomodoro", "period": "default"}, 4044 {"widgetType": "sounds", "period": "default"}, 4045 {"widgetType": "timelinegoals", "period": "default"}, 4046 4047 ] 4048 4049 }) 4050 4051 }, 4052 success: function (info) { 4053 4054 4055 4056 if(info == 'alreadyExist'){ 4057 4058 regErrorBrite(getLocale('ÐолÑзоваÑÐµÐ»Ñ Ñ Ñаким email Ñже заÑегиÑÑÑиÑован')) 4059 return; 4060 } 4061 var userData = JSON.parse(info)[0]; 4062 4063 if (userData.lt_userid != undefined) { 4064 4065 localStorage.setItem('U_82475912kgl345_312df', '2kls89241D' + userData.lt_userid); 4066 4067 localStorage.setItem('justsignin', 'yes') 4068 localStorage.setItem('userRole', userData.lt_role); 4069 localStorage.setItem('languageBrite', userData.tm_lang) 4070 4071 userData.viewTypeSelected = 'day-mode-timo' 4072 4073 localStorage.checkData = JSON.stringify(userData); 4074 4075 if(typeof(cordova) == "object"){ 4076 window.appMetrica.reportEvent('Basic registered', { 'registerd': '' }); 4077 } 4078 4079 if(localStorage.ks12ofda42psdvsd == undefined){ 4080 localStorage.ks12ofda42psdvsd = userData; 4081 4082 } 4083 4084 window.location.href = "/"; 4085 }else{ 4086 4087 } 4088 } 4089 }) 4090 } 4091 4092 4093 function spinner(options){
4094 var overlay = '<div class="bg-overlay dark"></div>'; 4095 var spinnerTemplate = '<div class="spinner konv-fade-in" style="z-index: 9999;">\n' + 4096 ' <div class="bar1"></div>\n' + 4097 ' <div class="bar2"></div>\n' + 4098 ' <div class="bar3"></div>\n' + 4099 ' <div class="bar4"></div>\n' + 4100 ' <div class="bar5"></div>\n' + 4101 ' <div class="bar6"></div>\n' + 4102 ' <div class="bar7"></div>\n' + 4103 ' <div class="bar8"></div>\n' + 4104 ' <div class="bar9"></div>\n' + 4105 ' <div class="bar10"></div>\n' + 4106 ' <div class="bar11"></div>\n' + 4107 ' <div class="bar12"></div>\n' + 4108 '</div>'; 4109 4110 var spinner = $(spinnerTemplate) 4111 4112 if(options.target == undefined){ 4113 spinner = $('<div class="spinner-wrapper konv-fade-in">'+spinnerTemplate+'</div>'); 4114 $('#app').append(spinner) 4115 }else{ 4116 $(document.body).append(overlay); 4117 $(options.target).append(spinner); 4118 } 4119 4120 4121 4122 var timeout = 3000; 4123 4124 if(options.duration != undefined){ 4125 timeout = options.duration; 4126 } 4127 4128 setTimeout(function(){ 4129 $(spinner).removeClass('konv-fade-in'); 4130 $(spinner).addClass('konv-fade-out'); 4131 4132 setTimeout(function(){ 4133 $(spinner).remove() 4134 $('.bg-overlay').remove() 4135 }, 300) 4136 4137 }, timeout) 4138 } 4139 4140 var urlcutomUrl = "https://appleid.apple.com/auth/authorize?response_type=code&response_mode=form_post&client_id=com.britetodo.brite&redirect_uri=https%3A%2F%2Fbritetodo.com%2F&state=cf1af806b2&scope=name+email"; 4141 4142 var viewportmeta = document.querySelector('meta[name="viewport"]'); 4143 if (viewportmeta) { 4144 if (screen.width < 375) { 4145 var newScale = screen.width / 375; 4146 viewportmeta.content = 'width=375, minimum-scale=' + newScale + ', maximum-scale=1.0, user-scalable=no, initial-scale=' + newScale + ''; 4147 } else { 4148 viewportmeta.content = 'width=device-width, maximum-scale=5.0, initial-scale=1.0'; 4149 } 4150 } 4151 4152 4153 $('body').append(` 4154<!-- Sticky CTA Ð´Ð»Ñ Ð¼Ð¾Ð±Ð¸Ð»ÑнÑÑ â поÑвлÑеÑÑÑ Ð¿Ñи ÑкÑолле --> 4155<div class="sticky-cta-mobile" id="stickyCtaMobile" aria-hidden="true"> 4156 <span class="sticky-cta-mobile__label">Ready to try Brite?</span> 4157 <button class="sticky-cta-mobile__btn authreg" 4158 onclick="if(typeof pintrk!=='undefined')pintrk('track','try_for_free_click');if(typeof gtag!=='undefined')gtag('event','open_reg_modal',{'event_name':'open_reg_modal','source':'sticky_cta'});"> 4159 Start free </button> 4160</div> 4161 4162<div id="cookieConsentModal" class="cookie-modal"> 4163 <div class="cookie-modal-content"> 4164 <h2>Cookie Notice</h2> 4165 <p style="font-size: 12px;"> 4166 We use cookies to improve your experience on our site. By continuing, you agree to our use of cookies as described in our <a href="/privacy-policy" target="_blank" style="color: black !important;">Privacy Policy</a>. 4167 </p> 4168 <button id="acceptCookies" class="cookie-button">Accept</button> 4169 <button id="rejectCookies" class="cookie-button reject">Reject</button> 4170 </div> 4171</div> 4172`) 4173 // Function to check cookie consent status 4174 function getCookie(name) { 4175 const value = `; ${document.cookie}`; 4176 const parts = value.split(`; ${name}=`); 4177 if (parts.length === 2) return parts.pop().split(';').shift(); 4178 } 4179 4180 // Function to set cookie with expiration 4181 function setCookie(name, value, days) { 4182 const date = new Date(); 4183 date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000); 4184 document.cookie = `${name}=${value};expires=${date.toUTCString()};path=/`; 4185 } 4186 4187 // Function to show the cookie consent modal 4188 function showCookieConsent() { 4189 const cookieConsentModal = document.getElementById('cookieConsentModal'); 4190 cookieConsentModal.style.display = 'block'; 4191 } 4192 4193 // Function to hide the cookie consent modal 4194 function hideCookieConsent() { 4195 const cookieConsentModal = document.getElementById('cookieConsentModal'); 4196 cookieConsentModal.style.display = 'none'; 4197 } 4198 4199 // Function to handle consent acceptance 4200 function acceptCookies() {
4201 setCookie('cookieConsent', 'accepted', 365); 4202 dismissCookieConsent(); 4203 } 4204 4205 // Function to handle consent rejection 4206 function rejectCookies() { 4207 setCookie('cookieConsent', 'rejected', 365); 4208 dismissCookieConsent(); 4209 } 4210 4211 // Snappy dismiss 4212 function dismissCookieConsent() { 4213 var el = document.getElementById('cookieConsentModal'); 4214 if (!el) return; 4215 el.classList.add('is-dismissing'); 4216 setTimeout(function(){ el.style.display = 'none'; }, 120); 4217 } 4218 4219 // Event Listeners 4220 document.getElementById('acceptCookies').addEventListener('click', acceptCookies); 4221 document.getElementById('rejectCookies').addEventListener('click', rejectCookies); 4222 4223 // Check cookie consent on page load 4224 window.onload = function () { 4225 if (!getCookie('cookieConsent')) { 4226 showCookieConsent(); 4227 } 4228 }; 4229 4230 document.addEventListener('scroll', function () { 4231 if($('html').scrollTop() > 50){ 4232 $('.brh-wrap').addClass('scrolled'); 4233 $('.brh-nav').addClass('scrolled'); 4234 }else{ 4235 $('.brh-wrap').removeClass('scrolled'); 4236 $('.brh-nav').removeClass('scrolled'); 4237 } 4238 }, true); 4239 4240 /* Mobile menu: backdrop + close-anim + replay anim пÑи каждом оÑкÑÑÑии */ 4241 (function() { 4242 function init() { 4243 var wrap = document.querySelector('.mobile_menu-wrapper'); 4244 if (!wrap) return; 4245 var burger = document.getElementById('hamburger'); 4246 if (!burger) return; 4247 4248 /* Move wrapper в body ÑÑÐ¾Ð±Ñ Ð¾ÑвободиÑÑÑÑ Ð¾Ñ transformed header 4249 (header Ð¸Ð¼ÐµÐµÑ transform: matrix(...) Ð¾Ñ scroll-анимаÑии, 4250 коÑоÑÑй Ð»Ð¾Ð¼Ð°ÐµÑ position: fixed Ð´Ð»Ñ Ð¿Ð¾Ñомков) */ 4251 if (wrap.parentElement !== document.body) { 4252 document.body.appendChild(wrap); 4253 } 4254 4255 var backdrop = document.createElement('div'); 4256 backdrop.className = 'mm-backdrop'; 4257 document.body.appendChild(backdrop); 4258 backdrop.addEventListener('click', function() { 4259 if (wrap.classList.contains('open')) burger.click(); 4260 }); 4261 4262 var closingTimer = null; 4263 4264 function replayItems() { 4265 var items = wrap.querySelectorAll('.mobile_menu-container > a'); 4266 items.forEach(function(a) {
4267 a.style.animation = 'none'; 4268 void a.offsetWidth; 4269 a.style.animation = ''; 4270 }); 4271 // Replay wrapper drop animation Ñоже 4272 wrap.style.animation = 'none'; 4273 void wrap.offsetWidth; 4274 wrap.style.animation = ''; 4275 } 4276 4277 burger.addEventListener('click', function() { 4278 var wasOpen = wrap.classList.contains('open'); 4279 if (wasOpen) { 4280 wrap.classList.add('mm-closing'); 4281 backdrop.classList.remove('is-visible'); 4282 document.body.classList.remove('mm-open'); 4283 if (closingTimer) clearTimeout(closingTimer); 4284 closingTimer = setTimeout(function() { 4285 wrap.classList.remove('mm-closing'); 4286 }, 230); 4287 } else { 4288 document.body.classList.add('mm-open'); 4289 requestAnimationFrame(function() { 4290 backdrop.classList.add('is-visible'); 4291 replayItems(); 4292 }); 4293 } 4294 }, true); 4295 } 4296 if (document.readyState === 'loading') { 4297 document.addEventListener('DOMContentLoaded', init); 4298 } else { init(); } 4299 })(); 4300 4301 /* Language selector â CSS animation ÑабоÑÐ°ÐµÑ ÑеÑез [style*="block"] ÑелекÑоÑ. 4302 JS не нÑжен Ð´Ð»Ñ in-анимаÑии. Outline-анимаÑÐ¸Ñ Ð¿ÑопÑÑкаем Ð´Ð»Ñ Ð¿ÑоÑÑоÑÑ. */ 4303 4304 /* Sticky CTA на мобиле â показ поÑле ÑкÑолла мимо hero */ 4305 (function() { 4306 if (window.innerWidth > 720) return; 4307 var cta = document.getElementById('stickyCtaMobile'); 4308 if (!cta) return; 4309 var heroThreshold = 400; // px Ð¾Ñ Ð²ÐµÑÑ Ð° ÑÑÑаниÑÑ 4310 var footerSafetyZone = 200; // не показÑваÑÑ ÐµÑли близко к footer 4311 var ticking = false; 4312 var cookieEl = document.getElementById('cookieConsentModal'); 4313 4314 function updateCookieFlag() { 4315 if (cookieEl && getComputedStyle(cookieEl).display !== 'none' && cookieEl.offsetParent !== null) { 4316 document.body.classList.add('has-cookie-banner'); 4317 } else { 4318 document.body.classList.remove('has-cookie-banner'); 4319 } 4320 } 4321 var hidingTimer = null; 4322 function check() { 4323 var y = window.scrollY || window.pageYOffset; 4324 var pageH = document.documentElement.scrollHeight; 4325 var viewportH = window.innerHeight; 4326 var nearFooter = (y + viewportH) > (pageH - footerSafetyZone); 4327 var shouldShow = y > heroThreshold && !nearFooter; 4328 var isVisible = cta.classList.contains('is-visible'); 4329 if (shouldShow && !isVisible) { 4330 cta.classList.remove('is-hiding'); 4331 cta.classList.add('is-visible'); 4332 cta.setAttribute('aria-hidden', 'false'); 4333 } else if (!shouldShow && isVisible) { 4334 cta.classList.remove('is-visible'); 4335 cta.classList.add('is-hiding'); 4336 cta.setAttribute('aria-hidden', 'true'); 4337 if (hidingTimer) clearTimeout(hidingTimer); 4338 hidingTimer = setTimeout(function() { 4339 cta.classList.remove('is-hiding'); 4340 }, 300); 4341 } 4342 updateCookieFlag(); 4343 ticking = false; 4344 } 4345 function onScroll() { 4346 if (!ticking) { 4347 requestAnimationFrame(check); 4348 ticking = true; 4349 } 4350 } 4351 window.addEventListener('scroll', onScroll, { passive: true }); 4352 window.addEventListener('resize', check); 4353 // Initial check + watch cookie banner 4354 setTimeout(check, 500); 4355 if (cookieEl) { 4356 new MutationObserver(updateCookieFlag).observe(cookieEl, { 4357 attributes: true, attributeFilter: ['style'] 4358 }); 4359 } 4360 })(); 4361 4362 /* #11 Scroll indicator Ð´Ð»Ñ .rvp-videos-grid */ 4363 (function() {
4364 function init() { 4365 var grids = document.querySelectorAll('.rvp-videos-grid'); 4366 grids.forEach(function(grid) { 4367 if (grid.dataset.indicatorReady) return; 4368 grid.dataset.indicatorReady = '1'; 4369 // СоздаÑм индикаÑÐ¾Ñ 4370 var ind = document.createElement('div'); 4371 ind.className = 'rvp-videos-scroll-indicator'; 4372 var bar = document.createElement('div'); 4373 bar.className = 'rvp-videos-scroll-indicator__bar'; 4374 ind.appendChild(bar); 4375 grid.parentNode.insertBefore(ind, grid.nextSibling); 4376 function update() { 4377 var max = grid.scrollWidth - grid.clientWidth; 4378 if (max <= 0) { ind.style.display = 'none'; return; } 4379 ind.style.display = ''; 4380 var ratio = grid.clientWidth / grid.scrollWidth; 4381 var barW = Math.max(20, Math.min(80, ratio * 100)); 4382 bar.style.width = barW + '%'; 4383 var pos = (grid.scrollLeft / max) * (100 - barW); 4384 bar.style.transform = 'translateX(' + (pos * grid.clientWidth / 100) + 'px)'; 4385 } 4386 grid.addEventListener('scroll', function() { 4387 requestAnimationFrame(update); 4388 }, { passive: true }); 4389 window.addEventListener('resize', update); 4390 setTimeout(update, 100); 4391 }); 4392 } 4393 if (document.readyState === 'loading') { 4394 document.addEventListener('DOMContentLoaded', init); 4395 } else { init(); } 4396 })(); 4397 4398 /* #12 Parallax balls в hero â лÑгкий drift пÑи ÑкÑолле */ 4399 (function() { 4400 var balls = document.querySelectorAll('.glow-container .ball'); 4401 if (!balls.length) return; 4402 var reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 4403 if (reducedMotion) return; 4404 var ticking = false; 4405 function update() { 4406 var y = window.scrollY || window.pageYOffset; 4407 // Слой 1 бÑÑÑÑее, Ñлой 2 медленнее, Ñлой 3 еÑÑ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½ÐµÐµ 4408 balls.forEach(function(b, i) { 4409 var speed = [0.25, 0.15, 0.08][i] || 0.1; 4410 b.style.transform = 'translateY(' + (-y * speed) + 'px)'; 4411 }); 4412 ticking = false; 4413 } 4414 window.addEventListener('scroll', function() { 4415 if (!ticking) { requestAnimationFrame(update); ticking = true; } 4416 }, { passive: true }); 4417 })(); 4418 4419 /* #13 Stat number count-up пÑи поÑвлении в viewport */ 4420 (function() { 4421 var stats = document.querySelectorAll('.rvp-stat-num'); 4422 if (!stats.length || !window.IntersectionObserver) return; 4423 var animated = new WeakSet(); 4424 function parseTarget(text) { 4425 // "4.6â " "15K+" "1M+" 4426 var clean = text.replace(/[â +]/g, '').trim(); 4427 var suffix = text.replace(/[\d.]/g, '').replace(/\s/g, ''); 4428 var multiplier = 1; 4429 if (/K/i.test(clean)) { multiplier = 1000; clean = clean.replace(/K/i, ''); } 4430 if (/M/i.test(clean)) { multiplier = 1000000; clean = clean.replace(/M/i, ''); } 4431 var num = parseFloat(clean); 4432 if (isNaN(num)) return null; 4433 return { value: num * multiplier, suffix: suffix, isFloat: clean.indexOf('.') >= 0 }; 4434 } 4435 function format(n, target) { 4436 if (target.value >= 1000000) return (n / 1000000).toFixed(n < target.value ? 1 : 0).replace(/\.0$/, '') + 'M' + (target.suffix.indexOf('+') >= 0 ? '+' : ''); 4437 if (target.value >= 1000) return Math.round(n / 1000) + 'K' + (target.suffix.indexOf('+') >= 0 ? '+' : ''); 4438 if (target.isFloat) return n.toFixed(1) + (target.suffix || ''); 4439 return Math.round(n) + (target.suffix || ''); 4440 } 4441 function animate(el) { 4442 if (animated.has(el)) return; 4443 animated.add(el); 4444 var originalHTML = el.innerHTML; 4445 var starMatch = originalHTML.match(/<span[^>]*>.*?<\/span>/); 4446 var starSuffix = starMatch ? starMatch[0] : ''; 4447 var textOnly = el.textContent; 4448 var target = parseTarget(textOnly); 4449 if (!target) return; 4450 el.classList.add('is-counting'); 4451 var dur = 1400; 4452 var start = performance.now(); 4453 function tick(now) { 4454 var p = Math.min(1, (now - start) / dur); 4455 var eased = 1 - Math.pow(1 - p, 3); // ease-out-cubic 4456 var current = target.value * eased; 4457 el.innerHTML = format(current, target) + starSuffix; 4458 if (p < 1) requestAnimationFrame(tick); 4459 else { 4460 el.innerHTML = originalHTML; 4461 setTimeout(function() { el.classList.remove('is-counting'); }, 300); 4462 } 4463 } 4464 requestAnimationFrame(tick); 4465 } 4466 var io = new IntersectionObserver(function(entries) {
4467 entries.forEach(function(e) { 4468 if (e.isIntersecting) animate(e.target); 4469 }); 4470 }, { threshold: 0.5 }); 4471 stats.forEach(function(s) { io.observe(s); }); 4472 })(); 4473 4474 /* #14 Empty state Ð´Ð»Ñ /blog еÑли ÑилÑÑÑ Ð¿ÑÑÑой */ 4475 (function() { 4476 if (!/\/blog/.test(location.pathname)) return; 4477 document.addEventListener('DOMContentLoaded', function() { 4478 var grid = document.querySelector('.bg3p-grid'); 4479 if (!grid) return; 4480 // ÐÑли в gridе Ð½ÐµÑ Ð½Ð¸ одной каÑÑоÑки â показÑваем empty state 4481 if (grid.querySelectorAll('.bg3p-card').length === 0) { 4482 var section = grid.closest('.bg3p-grid-section') || grid.parentNode; 4483 section.innerHTML = '' 4484 + '<div class="bg3p-empty">' 4485 + ' <div class="bg3p-empty__icon">' 4486 + ' <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">' 4487 + ' <circle cx="11" cy="11" r="8"/><path d="M21 21l-4.35-4.35"/>' 4488 + ' </svg>' 4489 + ' </div>' 4490 + ' <h3 class="bg3p-empty__title">No <em>articles</em> here yet.</h3>' 4491 + ' <p class="bg3p-empty__text">We havenât written anything for this category â but check our other pieces, thereâs good stuff.</p>' 4492 + ' <a href="/blog" class="bg3p-empty__cta">' 4493 + ' <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"/></svg>' 4494 + ' View all articles' 4495 + ' </a>' 4496 + '</div>'; 4497 } 4498 }); 4499 })(); 4500</script>
4500 4501 4502 4503 4504 4505<!-- End Cookie Consent by FreePrivacyPolicy.com https://www.FreePrivacyPolicy.com --> 4506
4506<script> 4507 4508 var BRITEPREVIEWMODE = true; 4509 4510 4511 setTimeout(function(){ 4512 $('.konv-scale-in-fade-in').removeClass('konv-scale-in-fade-in'); 4513 4514 }, 500) 4515 4516 4517 $(document).ready(function() { 4518 setTimeout(function(){ 4519 const imageUrls = [ 4520 'https://britetodo.com/img/features/to_do.png', 4521 'https://britetodo.com/img/features/projects.png', 4522 'https://britetodo.com/img/features/notes.png', 4523 'https://britetodo.com/img/features/Calendar.png', 4524 'https://britetodo.com/img/features/habbits.png', 4525 'https://britetodo.com/img/features/mood_diary.webp' 4526 ]; 4527 4528 $.each(imageUrls, function(index, url) { 4529 $('<img>') 4530 .attr('src', url) // Set the image source 4531 .attr('loading', 'lazy') // Add the lazy loading attribute 4532 .on('load', function() { 4533 }) 4534 .appendTo('body') // Append to the body 4535 .css('display', 'none'); // Optionally hide the image if needed 4536 }); 4537 }, 4000); 4538 }); 4539 4540 </script>
4540 4541 4542 4543 4544 4545 4546 </body> 4547 4548 4549 4550 </html> 4551 4552 4553 4554 4555
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.