/* Production purchase controls share the approved site typography and colors. */
.purchase-panel{max-width:720px;margin:0 auto;padding:clamp(22px,5vw,52px);border:3px solid var(--ink);border-radius:8px;background:var(--paper);box-shadow:8px 8px 0 var(--cyan)}
.purchase-panel h1{font-family:var(--display);font-size:clamp(36px,6vw,60px);line-height:1.05;letter-spacing:-2px;margin:24px 0}
.purchase-panel p{line-height:1.65;margin:16px 0}.purchase-panel .tag{display:inline-block;background:var(--lime);padding:8px 12px;font:700 12px var(--mono)}
.purchase-panel .price{font:700 36px var(--display)}.purchase-panel .fine{font-size:13px}
.purchase-panel button{padding:14px 20px;border:2px solid var(--ink);background:var(--block-yellow);color:var(--ink);font:700 15px var(--body);cursor:pointer;box-shadow:4px 4px 0 var(--ink)}
.purchase-panel button:disabled{opacity:.6;cursor:wait}.purchase-panel input{display:block;width:100%;padding:14px;border:2px solid var(--ink);margin:10px 0 16px;font:14px var(--mono)}
.purchase-panel .downloads{border-top:2px solid var(--ink);margin-top:28px;padding-top:20px}.purchase-panel #msg{min-height:48px}
@media(max-width:500px){.purchase-panel{box-shadow:5px 5px 0 var(--cyan)}.purchase-panel h1{overflow-wrap:anywhere}}
.purchase-panel .download-picker{max-width:100%}
.purchase-panel .download-picker summary{white-space:normal;max-width:100%;gap:12px;font-size:14px;line-height:1.4}
.purchase-panel .download-picker .download-options{width:280px;max-width:100%}
.purchase-panel .download-picker .download-options{min-width:0;width:100%;max-width:100%}
.plan-card .price-tax{font-size:14px;line-height:1.5;margin:8px 0 0}
.download-dialog .install-help{display:block;margin:10px 0 20px;font-size:13px;text-underline-offset:4px}
body .download-picker .download-options a.install-help{font-size:13px;text-decoration:underline;text-underline-offset:3px;border-top:1px solid var(--ink);border-radius:0}
.install-download{display:flex;align-items:center;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.install-download .button{background:var(--lime)}
.install-download p{font-size:15px;line-height:1.6}
.install-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;margin:0}
.install-steps>li{padding:28px;border:3px solid var(--ink);border-radius:5px;background:var(--cyan);box-shadow:5px 5px 0 var(--ink)}
.install-steps>li:nth-child(2){background:var(--block-yellow)}
.install-steps>li:nth-child(3){background:var(--pink)}
.install-number{font:700 14px var(--mono)}
.install-steps h2{font-size:32px;line-height:1.12;margin:22px 0 18px;letter-spacing:-1px}
.install-steps p,.install-steps a{font-size:16px;line-height:1.7}
.install-steps a{display:inline-block;margin-top:16px;text-underline-offset:3px}
.install-help-section{max-width:850px;margin-top:64px}
.install-help-section>h2{font-size:42px;margin-bottom:28px}
.install-notice{background:var(--paper);padding:26px;border:2px solid var(--ink);scroll-margin-top:24px;margin-bottom:24px}
.install-notice h3{font-size:25px;line-height:1.3;margin:0 0 14px}
.install-notice p,.install-answer,.install-contact{font-size:16px;line-height:1.75}
.install-notice p+p,.install-answer p+p{margin-top:12px}
.install-answer{padding-bottom:24px}
.install-answer ul{padding-left:24px;margin:18px 0}
.install-answer li+li{margin-top:16px}
.install-contact{margin-top:26px}
@media(max-width:850px){.install-steps{grid-template-columns:1fr}.install-steps>li{padding:25px}.install-steps h2{margin-top:14px}.install-help-section{margin-top:46px}}
@media(max-width:680px){.install-download{align-items:flex-start;flex-direction:column;gap:18px}.install-download .button{font-size:14px;padding:16px 18px;gap:18px}.install-help-section>h2{font-size:34px}.install-notice{padding:21px}.install-notice h3{font-size:23px}}

/* Keep both homepage purchase choices visible beside one another when space allows. */
.home-page .hero-actions{display:grid;grid-template-columns:max-content max-content;gap:18px 16px;align-items:center}
.home-page .hero-actions>.button{padding:16px 18px;gap:12px;font-size:15px}
.home-page .hero-actions>.hero-buy{background:var(--pink);color:var(--ink)}
.home-page .hero-actions>.text-link{grid-column:1/-1;justify-self:start}
@media(max-width:600px){
  .home-page .hero-actions{grid-template-columns:1fr}
  .home-page .hero-actions>.button{width:100%;justify-content:space-between}
}

/* The webcam demo is opt-in and shares its controls with /try. */
.home-camera-demo{border-bottom:3px solid var(--ink);scroll-margin-top:24px}
.home-camera-demo .camera-layout{padding-top:80px;padding-bottom:88px}
.home-camera-demo .camera-copy h2{font-size:clamp(43px,5vw,64px);line-height:1.15;margin:22px 0 26px}
.home-camera-demo .camera-copy h2 .word-block{margin-top:8px;padding:2px 10px 5px;letter-spacing:-.045em}
@media(max-width:680px){.home-camera-demo .camera-layout{padding-top:52px;padding-bottom:60px}.home-camera-demo .camera-copy h2{font-size:48px}}
