*,:before,:after{box-sizing:border-box}html{color-scheme:var(--color-scheme,light);-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.65}img,video{max-width:100%;height:auto;display:block}a{color:var(--c-primary);text-underline-offset:.15em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--c-primary);outline-offset:2px;border-radius:4px}h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.02em;margin:0 0 .6em;line-height:1.15}h1{font-size:clamp(1.9rem,4.2vw,2.75rem);font-weight:800}h2{margin-top:2.2em;font-size:clamp(1.4rem,2.6vw,1.85rem);font-weight:700}h3{margin-top:1.6em;font-size:1.2rem;font-weight:700}p,ul,ol{margin:0 0 1.1em}.wrap{width:min(100% - 2rem,1120px);margin-inline:auto}.measure{width:min(100% - 2rem, var(--article-width));margin-inline:auto}.skip{background:var(--c-surface);color:var(--c-text);border-radius:var(--radius);z-index:100;padding:.5rem .9rem;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.muted{color:var(--c-muted)}.small{font-size:.9rem}.site-header{z-index:40;border-bottom:1px solid var(--c-line);background:var(--c-bg);position:sticky;top:0}.header-blur .site-header{background:color-mix(in srgb, var(--c-bg) 82%, transparent);backdrop-filter:saturate(1.4)blur(12px)}.header-transparent .site-header{background:0 0;border-bottom:0;position:absolute;inset-inline:0}.site-header .wrap{align-items:center;gap:1rem;min-height:62px;display:flex}.brand{font-family:var(--font-heading);color:var(--c-text);align-items:center;gap:.6rem;font-weight:800;text-decoration:none;display:flex}.brand img{border-radius:10px;width:34px;height:34px}.nav{flex-wrap:wrap;align-items:center;gap:.25rem;margin-left:auto;display:flex}.nav a{color:var(--c-text);border-radius:var(--btn-radius);padding:.45rem .7rem;font-size:.95rem;font-weight:600;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{background:color-mix(in srgb, var(--c-text) 8%, transparent)}.lang{text-transform:uppercase;letter-spacing:.06em;gap:.35rem;font-size:.8rem;display:flex}.lang a{color:var(--c-muted);padding:.35rem .45rem}.lang a[aria-current]{color:var(--c-text);font-weight:700}.btn{border-radius:var(--btn-radius);border:2px solid var(--c-primary);background:var(--c-primary);min-height:44px;color:var(--c-on-primary);cursor:pointer;align-items:center;gap:.5rem;padding:.65rem 1.2rem;font-family:inherit;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .12s,opacity .12s;display:inline-flex}.btn:hover{opacity:.92;transform:translateY(-1px)}.btn-outline .btn,.btn.secondary{color:var(--c-primary);background:0 0}.btn-outline .btn.primary{background:var(--c-primary);color:var(--c-on-primary)}.btn.ghost{border-color:var(--c-line);color:var(--c-text);background:0 0}.btn.store{color:#fff;background:#0b0b0d;border-color:#0b0b0d}.btn.store svg{flex:none}.card{background:var(--c-surface);border:var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.card a.cover{display:block}.card .body{flex-direction:column;gap:.4rem;padding:1.1rem 1.2rem 1.3rem;display:flex}.card h2,.card h3{margin:0;font-size:1.15rem}.card h2 a,.card h3 a{color:var(--c-text);text-decoration:none}.card h2 a:hover,.card h3 a:hover{color:var(--c-primary)}.card .meta{color:var(--c-muted);flex-wrap:wrap;gap:.5rem;font-size:.85rem;display:flex}.card .excerpt{color:var(--c-muted);margin:0;font-size:.95rem}.card .placeholder{aspect-ratio:16/9;background:linear-gradient(135deg, color-mix(in srgb, var(--c-primary) 22%, var(--c-surface)), color-mix(in srgb, var(--c-secondary) 22%, var(--c-surface)))}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.tag{letter-spacing:.05em;text-transform:uppercase;color:var(--c-primary);font-size:.75rem;font-weight:700;text-decoration:none;display:inline-block}.page-head{padding:2.5rem 0 1.5rem}.page-head .kicker{color:var(--c-muted);margin-bottom:.5rem;font-size:.95rem}.page-head .lead{color:var(--c-muted);max-width:62ch;font-size:1.15rem}.breadcrumbs{color:var(--c-muted);margin:1.2rem 0 0;font-size:.85rem}.breadcrumbs ol{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";color:var(--c-muted);margin-right:.35rem}.breadcrumbs a{color:var(--c-muted)}.hero-figure{margin:1.5rem 0 2rem}.hero-figure img{border-radius:var(--radius);width:100%;box-shadow:var(--shadow-card)}figcaption{color:var(--c-muted);margin-top:.5rem;font-size:.85rem}.article-meta{color:var(--c-muted);flex-wrap:wrap;gap:.4rem 1rem;margin:.8rem 0 0;font-size:.9rem;display:flex}.article{padding-bottom:3rem}.layout-sidebar .article-grid{grid-template-columns:minmax(0, var(--article-width)) 280px;justify-content:center;gap:2.5rem;display:grid}.layout-sidebar .article-grid aside{align-self:start;position:sticky;top:80px}@media (width<=960px){.layout-sidebar .article-grid{grid-template-columns:minmax(0,1fr)}.layout-sidebar .article-grid aside{position:static}}.prose>*+*{margin-top:1.1em}.prose li+li{margin-top:.35em}.prose img{border-radius:var(--radius)}.toc{border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-surface);padding:1rem 1.2rem;font-size:.95rem}.toc p{margin:0 0 .5rem;font-weight:700}.toc ol{margin:0;padding-left:1.2rem}.toc a{color:var(--c-text)}.steps{counter-reset:step;margin:0;padding:0;list-style:none}.steps li{margin:0 0 1rem;padding-left:3rem;position:relative}.steps li:before{counter-increment:step;content:counter(step);background:var(--c-primary);width:2.1rem;height:2.1rem;color:var(--c-on-primary);font-weight:800;font-family:var(--font-heading);border-radius:50%;place-items:center;display:grid;position:absolute;top:.05rem;left:0}.steps strong{display:block}.callout{border-left:4px solid var(--c-primary);background:color-mix(in srgb, var(--c-primary) 8%, var(--c-surface));border-radius:0 var(--radius) var(--radius) 0;padding:1rem 1.2rem}.callout.warning{background:color-mix(in srgb, #d97706 10%, var(--c-surface));border-color:#d97706}.callout.note{border-color:var(--c-muted);background:color-mix(in srgb, var(--c-muted) 8%, var(--c-surface))}.callout p:last-child{margin-bottom:0}.callout strong.title{margin-bottom:.3rem;display:block}blockquote{border-left:3px solid var(--c-line);color:var(--c-muted);margin:0;padding:.5rem 0 .5rem 1.2rem;font-style:italic}.video{margin:0}.video video{border-radius:var(--radius);background:#000;width:100%}.faq details{border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-surface);margin-bottom:.6rem;padding:.8rem 1.1rem}.faq summary{cursor:pointer;font-weight:700}.faq details p{margin:.6rem 0 0}hr{border:0;border-top:1px solid var(--c-line);margin:2rem 0}.cta{border-radius:var(--radius);gap:.6rem;margin:2.2rem 0;padding:1.6rem 1.6rem 1.7rem;display:grid}.cta-band .cta{background:var(--c-primary);color:var(--c-on-primary)}.cta-band .cta .btn{background:var(--c-on-primary);color:var(--c-primary);border-color:var(--c-on-primary)}.cta-band .cta .btn.store{color:#fff;background:#0b0b0d;border-color:#0b0b0d}.cta-band .cta a:not(.btn){color:inherit}.cta-card .cta{background:var(--c-surface);border:1px solid var(--c-line);box-shadow:var(--shadow-card)}.cta-minimal .cta{border-top:2px solid var(--c-primary);border-radius:0;padding-inline:0}.cta h2,.cta h3{margin:0;font-size:1.35rem}.cta p{margin:0}.cta .actions{flex-wrap:wrap;gap:.6rem;margin-top:.4rem;display:flex}.cta .trial{font-size:.95rem;font-weight:700}.sticky-cta{inset-inline:0;z-index:30;background:var(--c-surface);border-top:1px solid var(--c-line);justify-content:center;align-items:center;gap:.8rem;padding:.6rem 1rem;display:none;position:fixed;bottom:0}@media (width<=720px){.sticky-cta{display:flex}body.has-sticky{padding-bottom:72px}}.related{margin:2.2rem 0}.related h2{margin-top:0;font-size:1.25rem}.mini-card{border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-surface);color:var(--c-text);grid-template-columns:96px 1fr;align-items:center;gap:1rem;margin:1.2rem 0;padding:.7rem;text-decoration:none;display:grid}.mini-card img{object-fit:cover;border-radius:calc(var(--radius) * .6);width:96px;height:72px}.mini-card .placeholder{border-radius:calc(var(--radius) * .6);background:color-mix(in srgb, var(--c-primary) 18%, var(--c-surface));width:96px;height:72px}.mini-card strong{display:block}.mini-card span{color:var(--c-muted);font-size:.85rem}.helpful{border:1px solid var(--c-line);border-radius:var(--radius);background:var(--c-surface);flex-wrap:wrap;align-items:center;gap:.8rem;margin:2.5rem 0 1rem;padding:1rem 1.2rem;display:flex}.helpful form{gap:.5rem;margin:0;display:flex}.helpful p{margin:0;font-weight:700}.comments{margin:2rem 0 3rem}.comments h2{font-size:1.35rem}.comment{border-top:1px solid var(--c-line);padding:1rem 0}.comment.reply{margin-left:2rem}.comment .who{align-items:baseline;gap:.5rem;font-size:.9rem;display:flex}.comment .who strong{color:var(--c-text)}.comment .who .author{background:var(--c-primary);color:var(--c-on-primary);border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.comment p{white-space:pre-line;margin:.3rem 0 0}.comment-form{gap:.7rem;margin-top:1.2rem;display:grid}.comment-form label{gap:.3rem;font-size:.9rem;font-weight:600;display:grid}.comment-form input,.comment-form textarea{font:inherit;border:1px solid var(--c-line);border-radius:calc(var(--radius) * .7);background:var(--c-surface);color:var(--c-text);width:100%;padding:.6rem .8rem}.comment-form textarea{resize:vertical;min-height:120px}.hp{opacity:0;height:0;position:absolute;left:-9999px;overflow:hidden}.notice{border-radius:var(--radius);background:color-mix(in srgb, var(--c-primary) 10%, var(--c-surface));border:1px solid color-mix(in srgb, var(--c-primary) 30%, var(--c-line));padding:.7rem 1rem}.notice.error{background:color-mix(in srgb, #dc2626 10%, var(--c-surface));border-color:color-mix(in srgb, #dc2626 35%, var(--c-line))}.pagination{justify-content:space-between;align-items:center;gap:1rem;margin:2rem 0;display:flex}.pagination ol{gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.pagination a,.pagination span.current{border-radius:var(--btn-radius);border:1px solid var(--c-line);min-width:40px;height:40px;color:var(--c-text);place-items:center;padding:0 .6rem;text-decoration:none;display:inline-grid}.pagination span.current{background:var(--c-primary);color:var(--c-on-primary);border-color:var(--c-primary)}.site-footer{background:var(--c-footer-bg);color:var(--c-footer-text);margin-top:4rem;padding:2.5rem 0 2rem}.site-footer a{color:inherit}.site-footer .cols{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.site-footer ul{gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.site-footer .copy{opacity:.75;margin-top:2rem;font-size:.85rem}.site-footer .about{opacity:.9;max-width:50ch;font-size:.95rem}.preview-banner{color:#111;text-align:center;background:#fbbf24;padding:.35rem 1rem;font-size:.85rem;font-weight:600}.consent{z-index:50;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.8rem;max-width:560px;margin-inline:auto;padding:1rem 1.1rem;display:none;position:fixed;bottom:1rem;left:1rem;right:1rem;box-shadow:0 12px 40px #0000002e}.consent[data-open="1"]{display:flex}.consent p{flex:260px;margin:0;font-size:.9rem}.home-hero{padding:3.5rem 0 2rem}.home-hero h1{max-width:18ch}.home-hero .lead{max-width:58ch}.home-hero .actions{flex-wrap:wrap;gap:.7rem;margin-top:1.4rem;display:flex}.section{padding:2rem 0}.section-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.section-head h2{margin:0}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-text);border-radius:999px;padding:.45rem .9rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.chip:hover{border-color:var(--c-primary)}.facts{color:var(--c-muted);flex-wrap:wrap;gap:.6rem 1.4rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.facts strong{color:var(--c-text)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.btn:hover{transition:none;transform:none}}@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-bottom]{object-position:top bottom}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-top]{object-position:bottom top}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-right]{object-position:left right}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-left]{object-position:right left}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}
