PageSourceSearch

https://britetodo.com/

html britetodo.com collected 2026-09-24 09:56:43 UTC 403,572 bytes, 4,555 lines download raw bytes

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&amp;ct=website&amp;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 &amp; 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 — &quot;call mom tomorrow 5pm&quot; — 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 &amp; 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 &amp; 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 &amp; 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: &nbsp;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&amp;ct=website&amp;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.