/* Local plan proposal, using the public Core54 typography and palette. */
.pricing-preview{--plan-border:#2d405b;--plan-surface:#0b1524;--plan-muted:#b6c8e0;--plan-accent:#91bbff}
.pricing-intro{padding-top:calc(var(--header-height,80px) + 40px);padding-bottom:32px;text-align:center}
.pricing-intro h1{font-size:clamp(38px,4.1vw,60px);font-weight:500;line-height:1.1;letter-spacing:-.035em;text-wrap:balance}
.pricing-intro>p{font-size:16px;line-height:1.7;color:#c7d7ee;margin:20px auto 0;max-width:680px}
.pricing-intro>.pricing-draft-note{font-size:12px;line-height:1.6;color:#aebfd8;margin-top:20px}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.plan-card{border:1px solid var(--plan-border);border-radius:14px;background:var(--plan-surface);padding:28px;display:flex;flex-direction:column;min-width:0}
.plan-pro{border-color:#4a89ed;background:linear-gradient(160deg,#132e51 0,#0f2038 35%,#0b182b 100%)}
.plan-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.plan-heading h2{font-size:30px;line-height:1.2;font-weight:500;letter-spacing:-.025em;margin:0}
.plan-symbol{display:flex;align-items:center;justify-content:center;color:#8faad1;flex:none}
.plan-symbol svg{height:26px;width:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.plan-pro .plan-symbol{color:#a5cbff}
.plan-purpose{font-size:19px;line-height:1.4;font-weight:500;letter-spacing:-.015em;color:#eef5ff;margin:24px 0 0}
.plan-includes{margin:20px 0 0;padding-top:20px;border-top:1px solid var(--plan-border);font-size:12px;line-height:1.5;font-weight:500;color:#c6d7ef}
.plan-pro .plan-includes{color:#a8ceff;border-color:#37547b}
.plan-features{list-style:none;padding:0;margin:24px 0 28px;display:grid;gap:20px}
.plan-features li{display:flex;gap:12px;align-items:flex-start;min-width:0}
.plan-features svg{height:19px;width:19px;flex:none;margin-top:1px;fill:none;stroke:#86a8d7;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.plan-pro .plan-features svg{stroke:#98c3ff}
.plan-features h3{font-size:14px;line-height:1.4;font-weight:550;color:#eff5ff;letter-spacing:0;margin:0}
.plan-features p{font-size:13px;line-height:1.65;color:var(--plan-muted);margin:5px 0 0}
.plan-footer{margin-top:auto;padding-top:20px;border-top:1px solid var(--plan-border)}
.pricing-preview .plan-cta{display:inline-flex;align-items:center;align-self:flex-start;justify-content:center;width:fit-content;max-width:100%;min-width:0;min-height:44px;padding:10px 16px;gap:16px;font-size:13px;line-height:1.5;font-weight:550;border:1px solid transparent;border-radius:7px;white-space:nowrap;background:#1767ff;color:#fff}
.plan-free .plan-cta,.plan-enterprise .plan-cta{background:#11223a;border-color:#3c577b;color:#eef5ff}
.pricing-preview .plan-cta svg,.pricing-below-plans a svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pricing-below-plans{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:20px}
.pricing-below-plans p{font-size:12px;line-height:1.8;color:#aebfd8;max-width:74ch}
.pricing-below-plans a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:13px;line-height:1.5;white-space:nowrap;color:#a5c7ff;text-decoration:none}
.plan-comparison{padding-top:76px;padding-bottom:48px;scroll-margin-top:calc(var(--header-height,80px) + 24px)}
.comparison-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:28px}
.comparison-heading h2,.pricing-questions>h2{font-size:36px;line-height:1.2;letter-spacing:-.03em;font-weight:500;text-wrap:balance}
.comparison-heading p{color:#aec4e0;font-size:13px;line-height:1.6}
.comparison-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#526d93 #0b1524;scrollbar-width:thin;border-top:1px solid #344964}
.comparison-scroll table{border-collapse:collapse;width:100%;min-width:660px;text-align:left;font-size:13px;line-height:1.7}
.comparison-scroll th,.comparison-scroll td{padding:20px 24px;border-bottom:1px solid #263b55}
.comparison-scroll th{font-weight:500;color:#ecf3ff}
.comparison-scroll thead th{font-size:16px;padding-block:24px}
.comparison-scroll th:first-child{width:34%;padding-left:0}
.comparison-scroll td{color:#b9cee9;width:22%}
.comparison-scroll :is(td,th):nth-child(3){background:#0c1e35}
.comparison-scroll thead th:nth-child(3){color:#a4c9ff}
.comparison-included{display:inline-flex;align-items:center;gap:8px;color:#d5e4f8}
.comparison-included svg{width:15px;height:15px;flex:none;fill:none;stroke:#92bbf8;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.comparison-unavailable{color:#9eafc6}
.pricing-questions{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;padding-block:48px 80px}
.pricing-questions>.pricing-faq{padding:0;max-width:none}
.pricing-questions .pricing-faq details{border-color:#2b405a}
.pricing-questions .pricing-faq summary{font-size:15px;line-height:1.65;min-height:54px}
.pricing-questions .pricing-faq p{font-size:13px;line-height:1.8;color:#b9cee9}
.pricing-close{border-top:1px solid #2e425e;padding-block:48px 64px;display:flex;justify-content:space-between;align-items:center;gap:32px}
.pricing-close h2{font-size:36px;line-height:1.2;letter-spacing:-.03em;font-weight:500;text-wrap:balance}
.pricing-close p{font-size:14px;line-height:1.8;color:#bbcee8;margin-top:12px}
.pricing-close .plan-cta{flex:none;align-self:center}
.pricing-preview :is(a,summary,.comparison-scroll):focus-visible{outline:2px solid #97bfff;outline-offset:4px}
.pricing-preview ::selection{background:#245dc0;color:#fff}
@media(hover:hover) and (pointer:fine){
 .plan-free .plan-cta:hover,.plan-enterprise .plan-cta:hover{background:#1b3455;border-color:#7396c4}
 .pricing-below-plans a:hover{color:#fff}
}
@media(max-width:1100px){
 .plan-grid{gap:16px}.plan-card{padding:24px 20px}.plan-purpose{font-size:18px}.plan-features{gap:20px}.plan-features li{gap:10px}.plan-features p{font-size:12px}.pricing-questions{gap:36px}
}
@media(max-width:820px){
 .pricing-intro{padding-top:calc(var(--header-height,72px) + 36px);padding-bottom:32px;text-align:left}.pricing-intro h1{font-size:42px;max-width:13ch}.pricing-intro>p{font-size:15px;line-height:1.8;margin-top:20px;margin-left:0}.pricing-intro>p br{display:none}.pricing-intro>.pricing-draft-note{font-size:12px;margin-top:16px;max-width:40ch}
 .plan-grid{grid-template-columns:1fr;gap:20px}.plan-card{padding:28px}.plan-heading h2{font-size:30px}.plan-purpose{font-size:20px;margin-top:24px}.plan-includes{margin-top:24px}.plan-features p{font-size:13px}.plan-features{gap:20px;margin-bottom:24px}
 .pricing-below-plans{display:block;margin-top:24px}.pricing-below-plans a{margin-top:8px}.plan-comparison{padding-block:56px 24px}.comparison-heading{display:block;margin-bottom:24px}.comparison-heading h2,.pricing-questions>h2{font-size:32px}.comparison-heading p{margin-top:12px}.comparison-scroll th,.comparison-scroll td{padding:16px}.pricing-questions{display:block;padding-block:40px 56px}.pricing-questions>.pricing-faq{margin-top:24px}.pricing-questions .pricing-faq summary{font-size:14px}.pricing-close{display:block;padding-block:40px 56px}.pricing-close h2{font-size:32px}.pricing-close .plan-cta{margin-top:24px}
}
@media(max-width:360px){.pricing-intro h1{font-size:36px}.plan-card{padding:24px 20px}.plan-purpose{font-size:19px}}

/* A single soft highlight travels within the Pro card's outline. */
@property --pro-outline-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.plan-pro{position:relative;isolation:isolate}
.plan-pro::before{content:'';position:absolute;inset:-1px;padding:1.5px;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--pro-outline-angle),transparent 0deg,transparent 278deg,#5e9dfb18 300deg,#72b0ff66 327deg,#c4e4ff 349deg,transparent 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:proOutlineOrbit 11s linear infinite paused}
.plan-pro.outline-active::before{animation-play-state:running}
.motion-paused .plan-pro::before{animation-play-state:paused}
@keyframes proOutlineOrbit{to{--pro-outline-angle:360deg}}
@media(prefers-reduced-motion:reduce){.plan-pro::before{animation:none;display:none}}

/* Full comparison, with readable groups and plan selection on small screens. */
.comparison-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.comparison-plan-picker{display:none}
.comparison-scroll{overflow:visible;border-top:0}
.comparison-scroll table{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:0}
.comparison-scroll th,.comparison-scroll td{padding:18px 24px}
.comparison-scroll th:first-child{width:40%}
.comparison-scroll td{width:20%}
.comparison-scroll thead th{position:sticky;top:var(--header-height,80px);z-index:3;background:#0a1422;border-top:1px solid #344964;border-bottom:1px solid #344964;padding-block:24px;font-size:19px}
.comparison-scroll thead th:first-child{padding-left:20px;font-size:14px;color:#aabedb}
.comparison-scroll thead th small{display:block;color:#aebfd8;font-weight:400;font-size:12px;line-height:1.5;margin-top:8px}
.comparison-scroll thead th[data-plan=pro]{background:#122a48;color:#bbd9ff}
.comparison-scroll tbody th:first-child{padding-left:20px;font-weight:400}
.comparison-scroll :is(td,th)[data-plan=pro]{background:#0b1b2e}
.comparison-scroll .comparison-category :is(th,td){background:#0d1929;border-top:1px solid #344964;border-bottom:1px solid #2b405b;padding-block:20px}
.comparison-scroll .comparison-category th{font-size:14px;font-weight:550;color:#c8ddfc}
.comparison-category th>span{display:flex;align-items:center;gap:12px}
.comparison-category svg{width:19px;height:19px;flex:none;fill:none;stroke:#8fb6ee;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.comparison-scroll tbody+tbody .comparison-category :is(th,td){border-top-width:16px;border-top-color:#060b13}
@media(hover:hover) and (pointer:fine){
 .comparison-scroll tbody tr:not(.comparison-category):hover :is(th,td){background:#112139}
 .comparison-scroll tbody tr:not(.comparison-category):hover td[data-plan=pro]{background:#142d4d}
}
@media(max-width:1100px){.comparison-scroll th,.comparison-scroll td{padding-inline:18px}}
@media(max-width:820px){
 .comparison-heading p{max-width:38ch;font-size:13px;line-height:1.8}
 .comparison-scroll{overflow-x:auto}.comparison-scroll table{min-width:660px}
 .comparison-scroll th:first-child{width:36%}
 .pricing-enhanced .comparison-scroll{overflow:visible;outline:none}
 .pricing-enhanced .comparison-scroll:focus-visible{outline:2px solid #97bfff}
 .pricing-enhanced .comparison-scroll table{min-width:0}
 .pricing-enhanced .comparison-plan-picker{display:flex;gap:4px;position:sticky;top:var(--header-height,72px);z-index:4;background:#060b13;padding-block:12px;margin-top:20px}
 .comparison-plan-picker button{flex:1;min-width:0;min-height:44px;border:1px solid transparent;border-radius:6px;padding:10px 8px;font:inherit;font-size:13px;line-height:1.5;cursor:pointer;color:#bcd0eb;background:#0d1b2e}
 .comparison-plan-picker button[aria-pressed=true]{background:#1b3b66;color:#fff;border-color:#5797f6}
 .pricing-enhanced [data-comparison-plan=free] [data-plan]:not([data-plan=free]),.pricing-enhanced [data-comparison-plan=pro] [data-plan]:not([data-plan=pro]),.pricing-enhanced [data-comparison-plan=enterprise] [data-plan]:not([data-plan=enterprise]){display:none}
 .pricing-enhanced .comparison-scroll th:first-child{width:58%;padding-left:12px}
 .pricing-enhanced .comparison-scroll td{width:42%}
 .pricing-enhanced .comparison-scroll :is(th,td){padding:16px 12px;font-size:12px}
 .pricing-enhanced .comparison-scroll thead th{top:calc(var(--header-height,72px) + 68px);font-size:18px}
 .pricing-enhanced .comparison-scroll thead th:first-child{font-size:12px}
 .pricing-enhanced .comparison-scroll thead th small{font-size:11px;margin-top:6px}
 .pricing-enhanced .comparison-category th{font-size:13px}
 .comparison-category th>span{gap:8px}.comparison-category svg{width:16px;height:16px}
 .comparison-included{gap:6px}
}
