/* FAQ tile mirrors the Clarity card width and uses the website palette. */
.launch-faq { position:relative; padding:64px 0 110px; color:#eaf1f2; scroll-margin-top:100px; }
.launch-faq__heading { width:min(1080px,88vw); margin:0 auto 42px; text-align:center; }
.launch-faq__eyebrow { color:#8ad6a1; font-size:12px; letter-spacing:.12em; text-transform:uppercase; margin:0 0 18px; }
.launch-faq h2 { margin:0; font-size:clamp(32px,4vw,48px); font-weight:450; letter-spacing:-.04em; line-height:1.12; }
.launch-faq__inner { width:min(1080px,88vw); margin:auto; display:grid; grid-template-columns:260px minmax(0,1fr); border:1px solid #8ad6a12b; border-radius:18px; overflow:hidden; background:radial-gradient(ellipse at 0 0,#23372b88,transparent 65%),#171c1d; box-shadow:0 24px 60px #0002; }
.faq-sidebar { padding:40px 24px; border-right:1px solid #eaf1f214; background:#0e14152e; display:flex; flex-direction:column; }
.faq-sidebar__label { margin:0 12px 22px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#8f9b94; }
.faq-tabs { display:grid; gap:8px; }
.faq-tabs button { appearance:none; display:flex; align-items:center; gap:12px; text-align:left; padding:14px 12px; border:1px solid transparent; border-radius:10px; font:inherit; font-size:14px; color:#aab5af; background:transparent; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.faq-tabs svg { width:18px; height:18px; flex:none; }
.faq-tabs button:hover { background:#ffffff06; color:#eaf1f2; }
.faq-tabs button[aria-selected=true] { background:#ffffff09; color:#eaf1f2; border-color:#eaf1f21a; }
.faq-tabs button[aria-selected=true] svg { color:#8ad6a1; }
.launch-faq__contact { margin: auto 12px 0; padding-top:64px; font-size:12px; line-height:1.8; color:#8f9b94; }
.launch-faq a { color:#d6e3db; text-decoration:none; }
.launch-faq a:hover { color:#8ad6a1; }
.faq-content { min-width:0; padding:40px; min-height:480px; display:grid; }
/* Overlap panels in one grid cell so the tallest reserves space for every tab. */
.faq-panel { grid-area:1 / 1; min-width:0; align-self:start; }
.faq-panel[hidden] { display:block; visibility:hidden; pointer-events:none; }
.faq-panel h3 { font-size:24px; font-weight:450; letter-spacing:-.03em; margin:0 0 10px; }
.faq-panel__intro { color:#aab5af; font-size:14px; line-height:1.6; margin:0 0 28px; }
.launch-faq details { margin-top:12px; border:1px solid #eaf1f217; border-radius:10px; background:#10161766; overflow:hidden; }
.launch-faq summary { padding:18px 48px 18px 20px; position:relative; cursor:pointer; list-style:none; font-size:16px; line-height:1.45; }
.launch-faq summary::-webkit-details-marker { display:none; }
.launch-faq summary::after { content:'+'; position:absolute; right:20px; top:18px; color:#8f9b94; }
.launch-faq details[open] summary::after { content:'−'; color:#8ad6a1; }
.launch-faq summary:hover { background:#ffffff03; }
.launch-faq details p { color:#aab5af; font-size:15px; line-height:1.7; margin:0; padding:0 20px 22px; }
.launch-faq :is(summary,button,a,.faq-panel):focus-visible { outline:2px solid #8ad6a1; outline-offset:-3px; }
@keyframes faq-appear { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
.faq-panel:not([hidden]),.launch-faq details[open] p { animation:faq-appear .28s ease-out; }
@media(max-width:850px) { .launch-faq__inner { grid-template-columns:220px minmax(0,1fr); }.faq-content { padding:30px 24px; }.faq-sidebar { padding:32px 16px; } }
@media(max-width:700px) {
 .launch-faq { padding:40px 0 80px; }.launch-faq__inner,.launch-faq__heading { width:calc(100% - 40px); }.launch-faq__inner { grid-template-columns:1fr; }.launch-faq h2 { font-size:32px; }.faq-sidebar { padding:24px 16px 18px; border-right:0; border-bottom:1px solid #eaf1f214; }.faq-sidebar__label { margin:0 8px 16px; }.faq-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }.faq-tabs button { flex-direction:column; text-align:center; justify-content:center; gap:8px; font-size:12px; padding:12px 4px; }.launch-faq__contact { display:none; }.faq-content { padding:28px 20px; min-height:0; }.faq-panel h3 { font-size:22px; }.launch-faq summary { font-size:15px; padding-left:16px; }.launch-faq details p { padding-inline:16px; font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .launch-faq * { animation:none!important; transition:none!important; } }

.launch-trial { margin-top:28px; }
.launch-trial p { color:#aab5af; font-size:16px; line-height:1.6; margin:0 0 22px; }
.launch-trial button:disabled { opacity:.65; cursor:default; }

/* Pricing reference adapted to the existing static site, scoped to this section. */
.launch-pricing { position:relative; padding:80px 28px 90px; color:#eaf1f2; scroll-margin-top:100px; }
.launch-pricing__inner { max-width:1120px; margin:auto; }
.launch-pricing__heading { text-align:center; margin-bottom:32px; }
.launch-pricing__eyebrow { color:#8ad6a1; font-size:13px; letter-spacing:.12em; text-transform:uppercase; }
.launch-pricing h2 { font-size:clamp(40px,4.2vw,62px); font-weight:450; letter-spacing:-.05em; line-height:1.08; margin:16px 0 24px; }
.launch-pricing__heading > p:last-child { color:#aab5af; font-size:18px; line-height:1.65; }
.pricing-toggle { position:relative; display:grid; grid-template-columns:1fr 1fr; width:244px; padding:5px; margin:0 auto 64px; border:1px solid #eaf1f21c; border-radius:999px; background:#15181d; }
.pricing-toggle__pill { position:absolute; inset:5px auto 5px 5px; width:calc(50% - 5px); border-radius:999px; background:#8ad6a1; transition:transform .38s cubic-bezier(.22,.7,.3,1); }
.pricing-toggle.is-yearly .pricing-toggle__pill { transform:translateX(100%); }
.pricing-toggle button { appearance:none; border:0; background:transparent; position:relative; color:#aab5af; font:inherit; font-size:14px; padding:11px 12px; cursor:pointer; transition:color .25s; border-radius:999px; }
.pricing-toggle button[aria-pressed=true] { color:#0e1510; }
.pricing-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.pricing-card { position:relative; padding:32px 28px; border:1px solid #eaf1f221; border-radius:18px; background:#15181d; transition:translate .3s,box-shadow .3s; }
.pricing-card--featured { background:linear-gradient(155deg,#21332b,#171f1c 75%); border-color:#8ad6a15c; box-shadow:0 20px 60px -25px #8ad6a126;  }
.pricing-card h3 { margin:0 0 8px; font-size:24px; letter-spacing:-.03em; font-weight:500; }
.pricing-card__tagline { color:#aab5af; font-size:14px; line-height:1.6; min-height:45px; margin:0; }
.pricing-card__amount { display:flex; align-items:baseline; gap:9px; margin-top:24px; }
.pricing-card__amount > span { font-size:44px; letter-spacing:-.04em; line-height:1.2; }
.pricing-card__amount small { color:#aab5af; font-size:14px; }
.pricing-card__note { color:#8f959f; font-size:12px; min-height:38px; line-height:1.5; margin:12px 0 22px; }
.pricing-card__cta { width:100%; }
.pricing-card__cta:not(.btn--primary) { background:transparent; color:#eaf1f2; border:1px solid #eaf1f22e; }
.pricing-card h4 { margin:30px 0 20px; text-transform:uppercase; letter-spacing:.09em; font-size:11px; color:#aab5af; font-weight:500; }
.pricing-card ul { list-style:none; padding:0; margin:0; display:grid; gap:17px; }
.pricing-card li { display:flex; align-items:start; gap:11px; font-size:14px; line-height:1.55; color:#d5dfd9; }
.pricing-card li > span { display:grid; place-items:center; border:1px solid #8ad6a17a; color:#8ad6a1; border-radius:50%; width:17px; height:17px; flex-shrink:0; font-size:11px; margin-top:2px; }
.pricing-assurance { text-align:center; color:#aab5af; font-size:14px; margin:42px 0 0; line-height:1.6; }
.pricing-billing-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.launch-pricing button:focus-visible { outline:2px solid #8ad6a1; outline-offset:4px; }
@media(hover:hover) { .pricing-card:hover { translate:0 -4px; box-shadow:0 22px 45px #0003; }.pricing-card__cta:not(.btn--primary):hover { background:#ffffff0a; } }
@keyframes pricing-reveal { from { opacity:0; translate:0 24px; } to { opacity:1; translate:0 0; } }
@keyframes pricing-price { from { opacity:.3; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
.pricing-card.is-entering { animation:pricing-reveal .65s cubic-bezier(.21,.47,.32,.98) both; animation-delay:calc(var(--card-order)*100ms); }
.pricing-card__amount.is-changing { animation:pricing-price .25s ease both; }
@media(max-width:767px) { .launch-pricing { padding:48px 24px 56px; }.launch-pricing h2 { font-size:40px; }.launch-pricing__heading > p:last-child { font-size:16px; }.pricing-cards { grid-template-columns:1fr; gap:32px; }.pricing-card--featured { transform:none; }.pricing-card { padding:30px 26px; }.pricing-card__tagline { min-height:0; }.pricing-card.is-entering { animation-delay:0s; }.pricing-toggle { margin-bottom:42px; } }
@media(prefers-reduced-motion:reduce) { .launch-pricing *, .launch-pricing *::before { animation:none!important; transition:none!important; }.pricing-card:hover { translate:none; } }

.pricing-included { margin-top:40px; padding:26px 0 0; border-top:1px solid #eaf1f21c; text-align:center; }
.pricing-included h3 { font-size:18px; font-weight:450; margin:0 0 18px; letter-spacing:-.02em; }
.pricing-included ul { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 26px; padding:0; margin:0; list-style:none; color:#aab5af; font-size:14px; line-height:1.6; }
@media(max-width:767px) { .pricing-included ul { display:grid; grid-template-columns:1fr; gap:10px; } }

/* Gentle depth below the overlapping app scene; no changes to its scroll anchors. */
.launch-pricing__heading,.pricing-cards,.launch-faq__heading,.launch-faq__inner,.app-visual-copy { transform:translate3d(0,var(--lower-depth,0px),0); }
.pricing-card__amount { flex-wrap:wrap; }
.pricing-card__amount > span { white-space:nowrap; font-size:clamp(34px,3.3vw,44px); font-variant-numeric:tabular-nums; }
.pricing-card { overflow:hidden; }
.pricing-card::after { content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit; background:linear-gradient(115deg,transparent 15%,#b5efcc0d 43%,transparent 65%); opacity:0; transform:translateX(-80%); }
.pricing-card.is-entering::after { animation:pricing-sheen 1.3s ease-out calc(var(--card-order)*100ms + .3s); }
@keyframes pricing-sheen { 25% { opacity:1; } to { opacity:0; transform:translateX(80%); } }
.lower-reveal.is-visible { animation:lower-reveal .75s cubic-bezier(.2,.65,.3,1) both; }
@keyframes lower-reveal { from { opacity:0; translate:0 16px; } to { opacity:1; translate:0 0; } }
@media(max-width:700px) { .site-nav { gap:14px; }.pricing-card__amount > span { font-size:40px; } }
@media(prefers-reduced-motion:reduce) { .launch-pricing__heading,.pricing-cards,.launch-faq__heading,.launch-faq__inner,.app-visual-copy { transform:none!important; }.lower-reveal.is-visible,.pricing-card::after { animation:none!important; } }

.faq-content { box-sizing:border-box; }
.faq-measure,.faq-measure * { animation:none!important; transition:none!important; }

/* A soft green light behind the plans, fading before the section boundaries. */
.launch-pricing { isolation:isolate; }
.launch-pricing__inner { position:relative; z-index:1; }
.pricing-atmosphere { position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; border-radius:0; }
.pricing-glow { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 49%,#4274564a 0%,#355c4024 32%,transparent 69%),radial-gradient(ellipse at 73% 65%,#69725310,transparent 53%); opacity:var(--pricing-light-opacity,1); transform:translate3d(0,var(--pricing-light-y,0px),0); -webkit-mask-image:linear-gradient(transparent,#000 20%,#000 75%,transparent); mask-image:linear-gradient(transparent,#000 20%,#000 75%,transparent); }
@media(max-width:767px) { .pricing-glow { background:radial-gradient(ellipse at 50% 53%,#4274563d,transparent 69%); } }
@media(prefers-reduced-motion:reduce) { .pricing-glow { opacity:1; transform:none; } }

/* Launch decisions: contextual resources only; existing visual systems unchanged. */
.launch-resource-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;font-size:13px;line-height:1.6}.launch-resource-links a,.launch-plan-terms a{color:#b8bec7;text-decoration:none}.launch-resource-links a:hover,.launch-plan-terms a:hover{color:#eaf1f2}.launch-plan-terms{max-width:640px;margin:24px auto 0;text-align:center;color:#8f959f;font-size:12px;line-height:1.7}.story-footer .footer-links{flex-wrap:wrap;row-gap:12px}.faq-panel p a{text-decoration:underline;text-underline-offset:3px}

#about .launch-resource-links{justify-content:flex-start;text-align:left}

.product-notes .qr-detail-link{display:inline-block;font-size:13px;line-height:1.6;font-weight:400;color:#b8bec7;margin-top:10px;text-decoration:none}.product-notes .qr-detail-link:hover{color:#eaf1f2}

.pricing-toggle .annual-saving{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%);white-space:nowrap;font-size:10px;line-height:1.5;font-weight:500;letter-spacing:0;color:#a4d5b2;background:#203329;border:1px solid #8ad6a12a;border-radius:5px;padding:3px 7px;pointer-events:none}

.pricing-toggle button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 8px}
.pricing-toggle .annual-saving,.pricing-toggle .billing-caption{position:static;display:block;transform:none;white-space:nowrap;font-size:10px;line-height:1.4;font-weight:400;letter-spacing:0;color:inherit;background:none;border:0;border-radius:0;padding:0;opacity:.8}

/* Give the annual saving a clear accent without moving it outside the choice. */
.pricing-toggle .annual-saving{background:#d8e63f;color:#18200b;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600;line-height:1.35;opacity:1}
.pricing-toggle .billing-caption{padding:2px 0;font-size:11px;line-height:1.35}
.pricing-toggle button{gap:5px}

/* Rounded offer and a selector aligned with the pricing-column width. */
.pricing-toggle{width:calc((100% - 48px)/3)}
.pricing-toggle button{padding:13px 12px;gap:6px}
.pricing-toggle .annual-saving{border-radius:999px;padding:3px 10px}
.pricing-toggle .billing-caption{padding:3px 0}
@media(max-width:1000px){.pricing-toggle{width:min(100%,360px)}}
@media(max-width:767px){.pricing-toggle{width:100%}}

/* Each semantic button occupies its entire half, without inert padding. */
.pricing-toggle{padding:0;gap:0;isolation:isolate;overflow:hidden}
.pricing-toggle button{width:100%;height:100%;min-width:0;margin:0;align-self:stretch;justify-self:stretch;padding:18px 12px;border-radius:0;z-index:1;pointer-events:auto}
.pricing-toggle button:focus-visible{outline-offset:-4px;border-radius:999px}
.pricing-toggle__pill{pointer-events:none;z-index:0}
.pricing-toggle button span{pointer-events:none}
