/* Shared purchase hierarchy; scoped to public/customer surfaces. */
.public-header{position:relative}.public-nav .purchase-nav{background:#087f7b;color:#fff;border-radius:10px;padding:10px 18px}.public-site .home-hero{padding-top:50px;padding-bottom:42px;gap:40px}.public-site .hero-copy h1{font-size:clamp(36px,4.7vw,66px);line-height:1.08;letter-spacing:-2px}.public-site .hero-copy .lead{max-width:540px}.public-site .button{border-radius:12px;min-height:48px}.public-site .hero-preview{max-width:560px}.public-site .hero-preview img{max-height:460px;object-fit:contain;background:#fff}.public-site .section{padding-top:52px;padding-bottom:52px}
.portal-site{background:#f5f8f8}.portal-site main{max-width:1120px}.plan-intro{max-width:760px;margin:30px auto;text-align:center}.plan-intro h1{font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:-1px}.plan-intro p{font-size:17px;color:#526b73}.purchase-path{font-size:13px!important;font-weight:600}.purchase-path span{color:#087f7b;padding:0 9px}.portal-site #plans{align-items:stretch;gap:20px}.portal-site .plan-card{display:flex;flex-direction:column;border-radius:18px;padding:28px;border:1px solid #bfd7d5;box-shadow:0 6px 20px #143e4206;margin-bottom:0}.plan-card h2{font-size:24px;margin-top:14px}.plan-card .price{font-size:36px;color:#12504e}.plan-includes{white-space:pre-line;line-height:2.1;font-size:14px}.plan-card .primary{width:100%;min-height:48px;margin-top:auto;border-radius:10px}.plan-facts{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;padding:24px 0;font-size:13px;color:#42635e}.purchase-details{padding:18px 22px;border:1px solid #d6e5e2;border-radius:12px;background:white;margin:8px 0 24px}.purchase-details summary{cursor:pointer;font-weight:600;min-height:24px}.purchase-details p{font-size:14px}.release-inline{padding:20px 0;color:#537077;font-size:13px}.release-inline p{display:inline;margin:0 14px}.portal-site .journey{max-width:700px;margin:22px auto}.portal-site #login{max-width:520px;margin:26px auto;border-radius:18px;padding:30px}.portal-site #login input{font-size:16px;min-height:48px}.portal-site #request,.portal-site #verify{width:100%;min-height:48px;border-radius:10px}.portal-site #otp{font-size:26px;letter-spacing:.22em;font-variant-numeric:tabular-nums}.send-status{padding:14px;background:#e9f4f1;border-radius:10px;color:#195c58!important;font-size:14px;overflow-wrap:anywhere}.send-status.busy::before{content:'';display:inline-block;width:13px;height:13px;border:2px solid #abcac6;border-top-color:#087f7b;border-radius:50%;margin-right:10px;animation:send-spin .8s linear infinite}.code-help{font-size:13px}.portal-site #checkout{border-radius:18px;max-width:650px;padding:30px}.portal-site #checkout>p{font-size:14px}.portal-site #checkout .order-summary{font-size:21px;color:#144e4a;overflow-wrap:anywhere}.portal-site #checkoutEmail{overflow-wrap:anywhere;font-weight:600}.portal-site #pay{min-height:50px;width:100%;border-radius:10px}.portal-site #cancelPay{display:block;margin:12px auto 0;background:transparent;border:0}.portal-site #notice{position:relative;bottom:auto;box-shadow:none}.portal-site #licenses .card{border-radius:16px}.portal-site .download-button{min-height:46px}
@keyframes send-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.public-site .home-hero{padding-top:28px;gap:26px}.public-site .hero-copy h1{letter-spacing:-1px}.public-site .hero-preview img{max-height:320px}.portal-site main{padding:0 16px;margin-top:20px}.plan-intro{text-align:left;margin:20px 0 24px}.plan-intro p{font-size:15px}.purchase-path{line-height:1.9}.purchase-path span{padding:0 4px}.portal-site #plans{grid-template-columns:1fr;gap:14px}.portal-site .plan-card{padding:23px}.plan-facts{align-items:flex-start;flex-direction:column;gap:10px;padding:20px 0}.portal-site #login,.portal-site #checkout{padding:22px;margin:18px auto}.portal-site .journey{gap:6px}.portal-site .journey li{font-size:11px}.release-inline p{display:block;margin:8px 0}.portal-site .public-footer{margin-top:40px}.portal-site #notice{margin-bottom:24px}#resendCode,#editEmail{min-height:44px}.public-site .button-row{gap:16px}.public-site input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.send-status.busy::before{animation:none}}

.portal-site main a:not(.download-button):not(.button){color:#087572;text-underline-offset:3px}.plan-card p{margin:10px 0}.plan-card .plan-includes{margin:8px 0 22px}.portal-site .public-footer{font-size:14px}

/* Compact plan cards: explicit spacing avoids inherited public-page typography. */
.portal-site #plans{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:18px}
.portal-site #plans .plan-card{position:relative;gap:0;padding:26px;border:1px solid #cbdedb;border-top:4px solid #168c84;border-radius:20px;background:linear-gradient(155deg,#edf8f4 0,#fff 38%);box-shadow:0 8px 24px #143e4208;overflow-wrap:anywhere}
.portal-site #plans .plan-card .eyebrow{font-size:10px;letter-spacing:1.8px;line-height:1.5}
.portal-site #plans .plan-card h2{font-size:25px;line-height:1.2;letter-spacing:-.5px;margin:13px 0 10px}
.portal-site #plans .plan-card .price{font-size:36px;line-height:1.15;letter-spacing:-1px;margin:0;color:#124f4c;font-variant-numeric:tabular-nums}
.portal-site #plans .plan-validity{font-size:13px;line-height:1.4;margin:7px 0 12px;color:#526d70}
.portal-site #plans .plan-device{align-self:flex-start;font-size:12px;font-weight:600;line-height:1.4;color:#20675f;background:#e4f2ed;border:1px solid #d1e7df;border-radius:30px;padding:5px 11px;margin:0}
.portal-site #plans .plan-features{list-style:none;padding:17px 0 0;margin:17px 0 22px;border-top:1px solid #dce9e5;display:grid;gap:9px}
.portal-site #plans .plan-features li{position:relative;padding-left:24px;margin:0;font-size:14px;line-height:1.45;color:#385c60}
.portal-site #plans .plan-features li::before{content:'✓';position:absolute;left:0;top:1px;width:17px;height:17px;line-height:17px;text-align:center;background:#e5f3ed;border-radius:50%;color:#087c70;font-size:11px;font-weight:700}
.portal-site #plans .plan-card .primary{margin:auto 0 0;min-height:48px;padding:12px 16px;line-height:1.4;font-size:15px;border-radius:11px}
@media(max-width:760px){.portal-site #plans{grid-template-columns:1fr;gap:16px}.portal-site #plans .plan-card{padding:22px}.portal-site #plans .plan-card .price{font-size:34px}}
