:root{--bg:#fff;--bg-2:#f7fafa;--surface:#fff;--line:#e5edec;--line-2:#d6e2e0;--ink:#0a2a2d;--text:#2b403e;--muted:#5e716e;--white:#fff;--teal:#0f6e70;--teal-hi:#0b5a5c;--aqua:#14b8a6;--hue-research:#0e9384;--amber:#d98a0b;--amber-text:#8f5600;--violet:#7c5cf5;--green:#16a34a;--wa:#25d366;--star:#f5a524;--shadow-sm:0 1px 2px #0a2a2d0d;--shadow:0 1px 2px #0a2a2d0a, 0 16px 40px -22px #0a2a2d38;--r:22px;--font:var(--font-alexandria), system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.75}::selection{color:var(--ink);background:#14b8a638}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.ic{flex:none;width:1em;height:1em}:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:12px}.wrap{max-width:1160px;margin:0 auto;padding:0 28px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{inset-inline-start:12px;background:var(--ink);color:var(--white);z-index:50;border-radius:12px;padding:8px 14px;position:absolute;top:-60px}.skip:focus{top:12px}.btn{white-space:nowrap;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;height:50px;padding:0 24px;font-size:15.5px;font-weight:600;transition:background-color .2s,border-color .2s,box-shadow .2s;display:inline-flex}.btn .ic{font-size:20px}.btn:active{transform:translateY(1px)}.btn-teal{background:var(--teal);color:var(--white);box-shadow:0 10px 24px -12px #0f6e70a6}.btn-teal:hover{background:var(--teal-hi)}.btn-line{background:var(--surface);color:var(--ink);border:1px solid var(--line-2);box-shadow:var(--shadow-sm)}.btn-line:hover{border-color:var(--teal)}.logo{display:block}.logo img{width:auto;display:block}.site-head{z-index:20;-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--line);background:#ffffffd9;position:sticky;top:0}.bar{align-items:center;gap:40px;height:76px;display:flex}.bar .logo img{height:52px}.bar .links{color:var(--muted);gap:28px;font-size:15.5px;display:flex}.bar .links a{transition:color .2s}.bar .links a:hover,.bar .links a[aria-current=page]{color:var(--ink)}.bar .links a[aria-current=page]{font-weight:600}.bar>.btn{height:44px;margin-inline-start:auto;padding:0 20px;font-size:14.5px}.menu{display:none;position:relative}.menu summary{border:1px solid var(--line-2);cursor:pointer;width:40px;height:40px;color:var(--ink);background:var(--surface);border-radius:50%;place-items:center;font-size:20px;list-style:none;display:grid}.menu summary::-webkit-details-marker{display:none}.menu nav{inset-inline-end:0;background:var(--surface);border:1px solid var(--line);min-width:190px;box-shadow:var(--shadow);border-radius:18px;padding:8px;display:grid;position:absolute;top:48px}.menu nav a{color:var(--ink);border-radius:12px;padding:10px 14px}.menu nav a[aria-current=page]{color:var(--teal);background:#eef7f6;font-weight:600}.hero,.page-head{isolation:isolate;position:relative;overflow:hidden}.hero:before,.page-head:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(#0a2a2d0e 1px,#0000 1px),linear-gradient(90deg,#0a2a2d0e 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 85% at 75% 20%,#000 20%,#0000 70%);mask-image:radial-gradient(75% 85% at 75% 20%,#000 20%,#0000 70%)}.hero:after,.page-head:after{content:"";z-index:-2;pointer-events:none;background:radial-gradient(620px 440px at 88% -5%,#14b8a629,#0000 70%),radial-gradient(480px 340px at 6% 75%,#7c5cf51a,#0000 70%);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.hero{padding:72px 0 60px}.hero-grid{grid-template-columns:1.25fr .9fr;align-items:center;gap:40px;display:grid}.hero h1,.page-head h1{letter-spacing:-.4px;background:linear-gradient(180deg, var(--ink) 45%, var(--teal));color:#0000;-webkit-background-clip:text;background-clip:text;padding-bottom:.08em;font-weight:700}.hero h1{font-size:54px;line-height:1.25}.sub{color:var(--muted);max-width:44ch;margin-top:14px;font-size:18px}.search{background:var(--surface);border:1px solid var(--line-2);max-width:560px;height:58px;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;margin-top:30px;padding:0 8px 0 22px;transition:border-color .2s,box-shadow .2s;display:flex}.search:focus-within{border-color:var(--teal);box-shadow:0 0 0 4px #0f6e701f, var(--shadow)}.search>.ic{color:var(--teal);font-size:22px}.search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:16px}.search input::placeholder{color:#8a9c99}.search input::-webkit-search-cancel-button{display:none}.search .btn{height:44px;box-shadow:none;padding:0 20px;font-size:14.5px}.cats{flex-wrap:wrap;gap:8px;max-width:100%;margin-top:14px;display:flex}.cat{border:1px solid var(--line-2);background:var(--surface);height:36px;color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;padding:0 15px;font-size:14px;font-weight:500;transition:color .2s,border-color .2s;display:inline-flex}.cat:hover{color:var(--ink);border-color:var(--teal)}.cat[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--white)}.how{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);background:#ffffffbf;border-radius:26px;padding:26px 26px 22px}.how h2{color:var(--ink);font-size:18px;font-weight:600}.how ol{gap:12px;margin-top:14px;list-style:none;display:grid}.how li{--hue:var(--hue-research);background:var(--bg-2);border:1px solid var(--line);border-radius:16px;grid-template-columns:40px 1fr;align-items:center;gap:2px 12px;padding:12px 14px;display:grid}.how li:nth-child(2){--hue:var(--amber)}.how li:nth-child(3){--hue:var(--violet)}.how .n{border:1px solid color-mix(in srgb, var(--hue) 40%, transparent);background:color-mix(in srgb, var(--hue) 10%, white);width:40px;height:40px;color:var(--hue);border-radius:50%;grid-row:span 2;place-items:center;font-size:16px;font-weight:700;display:grid}.how b{color:var(--ink);font-size:15.5px;font-weight:600;line-height:1.4}.how small{color:var(--muted);font-size:13.5px;line-height:1.5}.sec{padding:48px 0}.sec-t{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;display:flex}.sec-t h2{color:var(--ink);font-size:28px;font-weight:700}.sec-t .more{color:var(--teal);margin-inline-start:auto;font-size:15px;font-weight:600}.sec-t .more:hover{color:var(--teal-hi)}.tag{color:var(--amber-text);background:#fff8ec;border:1px dashed #e9b961;border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:600}.page-head{padding:64px 0 28px}.page-head .sec-t{margin-bottom:0}.page-head .sub{max-width:62ch}.page-head h1{font-size:40px;line-height:1.3}.page-head+.sec{padding-top:16px}.tiles{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.tile{--hue:var(--hue-research);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-height:230px;box-shadow:var(--shadow);flex-direction:column;padding:22px;transition:border-color .25s,transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.tile[data-cat=slides]{--hue:var(--amber)}.tile[data-cat=language]{--hue:var(--violet)}.tile:before{content:"";inset-inline:22px;background:linear-gradient(90deg, transparent, var(--hue), transparent);opacity:.85;border-radius:0 0 2px 2px;height:2px;position:absolute;top:0}.tile:hover{border-color:color-mix(in srgb, var(--hue) 40%, transparent);box-shadow:0 1px 2px #0a2a2d0a, 0 24px 48px -26px color-mix(in srgb, var(--hue) 70%, transparent);transform:translateY(-3px)}.tile .ico{background:color-mix(in srgb, var(--hue) 10%, white);border:1px solid color-mix(in srgb, var(--hue) 25%, transparent);width:52px;height:52px;color:var(--hue);border-radius:16px;place-items:center;font-size:26px;display:grid}.tile h3{color:var(--ink);margin-top:18px;font-size:18px;font-weight:600;line-height:1.4}.tile p{color:var(--muted);flex:1;margin-top:4px;font-size:14px;line-height:1.6}.tile .foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;display:flex}.tile .price{color:var(--ink);font-size:22px;font-weight:700}.tile .price small{color:var(--muted);margin-inline-start:4px;font-size:13px;font-weight:500}.tile .go{background:var(--bg-2);border:1px solid var(--line-2);width:40px;height:40px;color:var(--teal);border-radius:50%;place-items:center;font-size:19px;transition:background-color .25s,border-color .25s,color .25s;display:grid}.tile:hover .go{background:var(--wa);border-color:var(--wa);color:var(--white)}.empty{background:var(--bg-2);border:1px dashed var(--line-2);border-radius:var(--r);text-align:center;color:var(--muted);justify-items:center;gap:14px;margin-top:4px;padding:28px;display:grid}.score{color:var(--ink);background:#fff8ec;border:1px solid #f3ddb0;border-radius:999px;align-items:center;gap:8px;padding:4px 14px 4px 10px;font-size:14px;font-weight:600;display:inline-flex}.score .ic{color:var(--star);font-size:17px}.score span{color:var(--muted);font-size:13px;font-weight:500}.revs{grid-template-columns:repeat(3,1fr);gap:16px;max-width:100%;display:grid}.rev{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;padding:22px 24px;display:flex}.stars{color:var(--star);gap:2px;font-size:16px;display:inline-flex}.stars .off{color:#dde5e4}.rev .txt{color:var(--text);margin-top:12px;font-size:15.5px}.rev .reply{color:var(--muted);background:#f0f8f7;border:1px solid #d3ece8;border-radius:12px;margin-top:12px;padding:9px 12px;font-size:13.5px}.rev .reply b{color:var(--teal);font-size:13px;font-weight:600;display:block}.rev .who{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:auto;padding-top:16px;font-size:13.5px;display:flex}.rev .who b{color:var(--ink);font-size:14px;font-weight:600}.rev .who .ok{color:var(--green);font-size:16px;display:inline-flex}.rev .who time{margin-inline-start:auto;font-size:12.5px}.note{background:var(--bg-2);border:1px dashed var(--line-2);border-radius:var(--r);text-align:center;color:var(--muted);padding:28px}.pager{justify-content:center;gap:10px;margin-top:24px;display:flex}.faq{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.q{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:18px;padding:17px 20px;transition:border-color .2s}.q[open]{border-color:color-mix(in srgb, var(--teal) 35%, transparent)}.q summary{color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-size:15.5px;font-weight:600;list-style:none;display:flex}.q summary::-webkit-details-marker{display:none}.q summary .ic{color:var(--teal);font-size:18px;transition:transform .2s}.q[open] summary .ic{transform:rotate(180deg)}.q p{color:var(--muted);margin-top:8px;font-size:14.5px}.band{isolation:isolate;color:var(--white);background:linear-gradient(115deg,#0e4446 0%,#0a2a2d 55%,#221d4a 100%);border-radius:28px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding:36px 38px;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 60px -36px #0a2a2d99}.band:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(420px 260px at 92% 0,#2fe3cf40,#0000 70%);position:absolute;inset:0}.band h2{font-size:26px;font-weight:700}.band p{color:#a9c6c2;margin-top:4px}.band .btn{background:var(--white);color:var(--ink)}.band .btn .ic{color:var(--wa)}.paper{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:30px 34px}.prose>*{max-width:68ch}.prose h2{color:var(--ink);margin-top:26px;font-size:20px;font-weight:600}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:var(--text);margin-top:8px}.prose ul{padding-inline-start:22px}.actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.site-foot-wrap{background:var(--bg);border-top:1px solid var(--line);margin-top:48px;padding:26px 0 34px}.site-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;font-size:14px;display:flex}.site-foot .logo img{height:44px}.site-foot nav{flex-wrap:wrap;gap:22px;display:flex}.site-foot nav a:hover{color:var(--ink)}.fab{display:none}.hero-grid>*,.tiles>*,.revs>*,.faq>*{min-width:0}@media (width<=980px){.tiles{grid-template-columns:repeat(2,1fr)}.hero-grid{grid-template-columns:1fr}.revs.all{grid-template-columns:repeat(2,1fr)}}@media (width<=767px){.wrap{padding:0 16px}.bar{gap:10px;height:64px}.bar .logo img{height:42px}.bar .links{display:none}.bar>.btn{height:40px;padding:0 14px;font-size:13.5px}.menu{display:block}.hero{padding:36px 0 28px}.hero h1{font-size:34px}.sub{font-size:16px}.page-head{padding:36px 0 16px}.page-head h1{font-size:30px}.search{height:54px;padding:0 6px 0 16px}.search .btn{padding:0 14px}.cats{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.cat{flex:none}.sec{padding:30px 0}.sec-t h2{font-size:23px}.tiles{gap:10px}.tile{border-radius:18px;min-height:210px;padding:16px}.tile:before{inset-inline:16px}.tile .ico{border-radius:14px;width:44px;height:44px;font-size:22px}.tile h3{font-size:16px}.tile p{font-size:13px}.tile .price{font-size:19px}.tile .go{width:36px;height:36px}.revs{scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px;display:flex;overflow-x:auto}.rev{scroll-snap-align:start;flex:0 0 84%}.revs.all{grid-template-columns:1fr;display:grid;overflow:visible}.revs.all .rev{flex:none}.faq{grid-template-columns:1fr}.band{border-radius:22px;padding:26px 22px}.band .btn{width:100%}.paper{padding:22px 18px}.site-foot{flex-direction:column;align-items:flex-start}.fab{inset-inline-end:16px;background:var(--wa);width:58px;height:58px;color:var(--white);z-index:30;border-radius:50%;place-items:center;font-size:30px;display:grid;position:fixed;bottom:18px;box-shadow:0 12px 30px -8px #25d3668c}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}@supports not (background-clip:text){.hero h1,.page-head h1{color:var(--ink);background:0 0}}
