.hero{padding:64px 0}.section{padding:62px 0}.section-head{margin-bottom:30px}.section h2{font-size:clamp(28px,3vw,36px)}.steps{gap:30px}.step h3{margin:19px 0 10px}.app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.app-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:25px;border:1px solid var(--line);border-radius:11px;background:white}.app-logo{object-fit:contain;display:block}.app-monogram{display:flex;width:42px;height:42px;border-radius:10px;align-items:center;justify-content:center;background:var(--pale);color:var(--green);font-size:20px;font-weight:650}.app-card h3{font-size:18px;font-weight:550;margin:18px 0 7px}.app-card p{font-size:13px;color:var(--muted);margin:10px 0 0;line-height:1.6}.app-state{font-size:12px;line-height:1.5;border-radius:4px;padding:3px 7px}.verified{background:#e8f3ed;color:#236347}.pending{background:#f2f1ed;color:#70664d}.compat-note{font-size:13px;line-height:1.8;color:var(--muted);margin:22px 0 10px}.support-banner{border-top:1px solid var(--line);padding:43px 0 55px;display:flex;justify-content:space-between;align-items:center;gap:24px}.support-banner h2{font-size:27px;font-weight:550;margin:12px 0}.support-banner p{font-size:15px;color:var(--muted);margin:0}.support-banner .btn{white-space:nowrap}.support-banner img{object-fit:contain}.support-page{max-width:1100px;display:grid;grid-template-columns:1fr 400px;gap:45px;align-items:center;padding-top:75px}.support-intro h1{font-size:48px;line-height:1.35}.donation-card{background:#e9f3ee;text-align:center;padding:37px 32px 26px;border:1px solid #d4e5db;border-radius:17px}.donation-card>img{object-fit:contain}.donation-card h2{font-size:28px;margin:17px 0 0}.donation-card>p{margin:5px 0 23px;color:var(--muted);font-size:14px}.donation-placeholder{border:1px dashed #a9c7b7;border-radius:9px;min-height:122px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;margin:25px 0;color:#4e6d5f}.donation-placeholder span{font-size:17px}.donation-placeholder small{font-size:13px}.donation-card .btn{width:100%;background:#d4e5da;color:#526b5d;border-color:#d4e5da}.donation-card .fine{font-size:12px;margin:14px 0 0}.support-return{grid-column:1/-1;display:flex;justify-content:space-between;font-size:14px;padding-top:10px}.download-page{max-width:1050px}.download-card{padding:32px;display:flex;gap:24px;align-items:center;border:1px solid var(--line);background:white;border-radius:12px;margin:30px 0 42px}.download-wordmark{display:flex;align-items:center;justify-content:center;min-width:84px;height:84px;font-size:24px;font-weight:550;letter-spacing:3px;border-radius:19px;background:var(--green);color:white}.download-card h2{margin:0;font-size:24px}.download-card p{font-size:14px;margin:8px 0 14px;color:var(--muted)}.download-action{margin-left:auto;text-align:center;max-width:250px}.download-action .fine{font-size:12px;margin:10px 0 0}.btn[aria-disabled=true]{background:#e8eeea;border-color:#e8eeea;color:#627269;cursor:not-allowed}.page a.btn{text-decoration:none}.download-guides{display:grid;grid-template-columns:1fr 1fr;gap:50px}.download-guides h2{margin:0}.download-guides p{font-size:15px;color:var(--muted)}.download-guides a{font-size:14px}a,button,summary{touch-action:manipulation}.footer-links a{padding:7px 0}.page p{overflow-wrap:anywhere}@media(max-width:950px){.app-card{padding:20px}.support-page{grid-template-columns:1fr 350px;gap:30px}.download-card{flex-wrap:wrap}.download-action{max-width:none;width:100%;margin-left:0;text-align:left}}@media(max-width:700px){.hero{padding:37px 0}.section{padding:44px 0}.app-grid{grid-template-columns:repeat(2,1fr);gap:10px}.app-card{padding:19px 16px}.app-card h3{font-size:17px}.app-card p{font-size:12px}.app-logo,.app-monogram{width:38px;height:38px}.section h2{font-size:29px}.support-banner{flex-direction:column;align-items:flex-start;padding:33px 0 40px}.support-banner .btn{white-space:normal;width:100%}.support-page{display:block;padding:39px 22px 45px}.support-intro h1{font-size:38px}.support-intro .intro{font-size:16px}.donation-card{margin-top:31px;padding:30px 24px 24px}.support-return{margin-top:26px;font-size:14px}.download-card{padding:23px;gap:20px}.download-wordmark{min-width:64px;height:64px;font-size:20px;border-radius:15px}.download-card h2{font-size:22px}.download-card p{font-size:13px}.download-action .btn{width:100%}.download-guides{grid-template-columns:1fr;gap:30px}.nav{padding:16px 20px}.nav-cta{min-height:40px;display:flex;align-items:center}.hero .actions .btn{padding:13px 16px}.demo-controls button{min-height:44px}.footer-links{gap:10px 20px}}@media(max-width:360px){.nav{padding:14px 16px}nav{gap:12px;font-size:12px}.brand{font-size:21px}.wrap{padding:0 18px}.hero h1{font-size:39px}.key{padding:10px 12px;gap:10px}.demo-status{font-size:12px}.download-card{padding:19px;gap:15px}.download-card p{font-size:12px}.app-card{padding:17px 13px}}

.membership-page{max-width:1100px}.membership-head{text-align:center;margin-bottom:38px}.membership-head h1{font-size:clamp(34px,6vw,52px)}.membership-offer{padding:30px;border:1px solid #d4e5db;background:#e9f3ee;border-radius:16px;display:flex;justify-content:space-between;align-items:center;gap:24px}.membership-offer h2{margin:0}.membership-offer .membership-price{font-size:52px;line-height:1.2;font-weight:600;margin:14px 0}.membership-price span{font-size:18px;font-weight:400}.membership-offer p{font-size:14px}.member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.member-grid article{padding:25px;border:1px solid var(--line);border-radius:12px;background:white}.member-grid h3{margin:14px 0 8px}.member-grid p{font-size:15px;color:var(--muted);margin:0}.membership-details p{font-size:15px}.membership-page .support-return{margin-top:36px}@media(max-width:700px){.membership-offer{flex-direction:column;align-items:stretch;padding:24px}.membership-offer .btn{width:100%}.member-grid{grid-template-columns:1fr}.membership-head{text-align:left}.membership-page{padding-top:35px}}
.brand{align-items:center}.brand-logo{flex-shrink:0}header{background:linear-gradient(110deg,#d9eee3,#edf3d8 58%,#e5f0f2);border-top:5px solid #176755}.hero{background:radial-gradient(ellipse at 15% 0%,#edf4db88,transparent 60%)}.eyebrow{line-height:1.8}.demo-stage{box-shadow:0 12px 45px #17675512;background:linear-gradient(135deg,#dcece3,#edf1dc)}.demo-guide{background:#176755;color:#fff;padding:13px 15px;border-radius:8px;font-size:13px;line-height:1.6;margin-bottom:16px;min-height:66px;display:flex;align-items:center}.mock-window{position:relative}.demo-pointer{position:absolute;right:23px;top:110px;z-index:2;font-size:28px;color:#176755;transition:top .7s,right .7s;pointer-events:none;filter:drop-shadow(0 2px 2px #fff)}.demo-pointer span{display:block;font-size:11px;background:#176755;color:white;border-radius:5px;padding:4px 8px;white-space:nowrap}.demo-stage[data-phase="1"] .demo-pointer,.demo-stage[data-phase="2"] .demo-pointer{top:70%;right:25px}.demo-stage[data-phase="1"] .key{background:#176755;color:#fff;border-color:#115342;box-shadow:0 0 0 5px #17675522}.demo-stage[data-phase="1"] .input-frame{background:#e5f4e9;box-shadow:0 0 0 4px #17675525}.demo-stage[data-phase="2"] .input-frame{background:#eef4d7;border-color:#749638}.input-frame.active [data-input-text]:after{content:'▏';color:#176755;animation:caret 1s steps(2) infinite}.demo-controls button{border-radius:5px;padding:10px 6px}.demo-controls button[aria-pressed=true]{background:#176755;color:white}.playback{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px}.playback button,.playback select{font:inherit;font-size:12px;border:1px solid #bed3c7;border-radius:6px;padding:9px;background:#fff;color:#176755;min-height:40px}.playback label{margin-left:auto;font-size:12px;display:flex;align-items:center;gap:6px}.playback button:first-child{background:#176755;color:#fff;min-width:82px}.playback select:focus-visible{outline:3px solid #258570;outline-offset:2px}@keyframes caret{50%{opacity:0}}@media(max-width:700px){.brand-logo{width:30px;height:30px}.brand{gap:7px}.demo-guide{font-size:12px}.demo-pointer span{font-size:10px}.playback{gap:6px}}@media(prefers-reduced-motion:reduce){.input-frame.active [data-input-text]:after{animation:none}.demo-pointer{transition:none}}
