/* Next Generation / commercial plans */
.plans-page,.plans-hardware,.ng-plan-summary { color: var(--ng-ink); background: var(--ng-bg); }
.plans-page [hidden],.plans-hardware [hidden] { display: none !important; }
.plans-page :focus-visible,.plans-hardware :focus-visible { outline: 2px solid var(--ng-copper); outline-offset: 4px; }
.plans-page :is(section,table),.plans-hardware { scroll-margin-top: 110px; }
.plans-page h1,.plans-page h2,.plans-hardware h2,.ng-plan-summary h2 { font-family: Antonio,Impact,sans-serif; font-weight: 500; letter-spacing: -.045em; line-height: 1.06; }
.plans-label { font: 600 11px/1.5 Manrope,sans-serif; letter-spacing: .15em; text-transform: uppercase; color: var(--ng-copper); }
.plans-hero,.plans-deck,.plans-comparison,.plans-hardware,.plans-faq { padding-inline: var(--ng-gutter); }
.plans-hero { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(240px,.75fr); align-items: end; gap: clamp(24px,6vw,105px); padding-block: clamp(42px,6vw,94px) clamp(24px,4vw,58px); }
.plans-headline h1 { font-size: clamp(76px,10.2vw,170px); margin: 12px 0 0; line-height: .99; }
.plans-headline h1 span { color: var(--ng-copper); }
.plans-intro { max-width: 36ch; padding-bottom: 5px; }
.plans-intro p { font-size: clamp(15px,1.55vw,21px); line-height: 1.65; color: var(--ng-muted); margin: 0 0 16px; }
.plans-inline { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; color: var(--ng-copper); font-size: 13px; }
.plans-tabs { display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid var(--ng-line); }
.plans-tabs button { position: relative; min-width: 0; min-height: 84px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; justify-items: start; gap: 4px 12px; text-align: left; padding: 12px clamp(10px,2.5vw,34px); border: 0; border-radius: 0; color: var(--ng-muted); background: var(--ng-bg); font-family: Manrope,sans-serif; cursor: pointer; }
.plans-tabs button+button { border-left: 1px solid var(--ng-line); }
.plans-tabs button strong { grid-row: 2; font: 500 clamp(26px,3.6vw,52px)/1 Antonio,Impact,sans-serif; letter-spacing: -.025em; color: var(--ng-ink); }
.plans-tabs button span { font-size: 12px; }
.plans-tabs button b { grid-column: 2; grid-row: 1 / 3; font-size: clamp(14px,2vw,28px); }
.plans-tabs button[aria-selected="true"] { background: linear-gradient(108deg,#e884521f,#0e1216 68%); box-shadow: inset 0 3px var(--ng-copper); }
.plans-tabs button:is([aria-selected="true"],:hover) :is(b,span) { color: var(--ng-copper); }
.plans-panel { padding: clamp(18px,3vw,38px) 0 0; }
.plans-showcase { display: grid; grid-template-columns: minmax(260px,.75fr) minmax(0,1.25fr); gap: clamp(22px,5vw,80px); background: #0e1216; border: 1px solid var(--ng-line); }
.plans-description { align-self: center; padding: clamp(18px,3vw,46px); }
.plans-description h2 { margin: 12px 0 16px; font-size: clamp(36px,4.7vw,76px); }
.plans-description>p:not(.plans-label) { max-width: 43ch; color: var(--ng-muted); font-size: 15px; line-height: 1.65; }
.plans-price strong { color: var(--ng-ink); font-size: 24px; }
.plans-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 24px; }
.plans-actions .button { min-height: 44px; }
.plans-visual { min-width: 0; background: radial-gradient(ellipse at 55% 40%,#23292e,#101418 72%); border-left: 1px solid var(--ng-line); }
.plans-visual-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 3px 16px; border-bottom: 1px solid var(--ng-line); padding: 12px 20px; font-size: 12px; }
.plans-visual-header p { margin: 0; color: var(--ng-ink); }
.plans-visual-header span { color: var(--ng-muted); }
.plans-scene { margin: 0; }
.plans-frame { display: grid; align-items: center; justify-items: center; height: clamp(250px,32vw,420px); padding: clamp(12px,2.5vw,28px); }
.plans-frame img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; filter: drop-shadow(0 12px 18px #0009); }
.plans-scene figcaption { min-height: 76px; display: grid; align-content: start; grid-template-columns: minmax(92px,.32fr) minmax(0,1fr); gap: 12px; padding: 13px 20px; border-top: 1px solid var(--ng-line); color: var(--ng-muted); font-size: 13px; line-height: 1.5; }
.plans-scene figcaption strong { color: var(--ng-ink); }
.plans-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: center; border: 1px solid var(--ng-line); border-top: 0; padding: 10px 14px; }
.plans-controls ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
.plans-controls button { width: 100%; min-height: 44px; padding: 8px; border: 1px solid var(--ng-line); border-radius: 0; background: #0e1216; color: var(--ng-ink); font: 600 12px/1.35 Manrope,sans-serif; cursor: pointer; }
.plans-controls button span { margin-right: 8px; color: var(--ng-muted); }
.plans-controls button:is([aria-pressed="true"],:hover:not(:disabled)) { border-color: var(--ng-copper); }
.plans-controls button[aria-pressed="true"] span,.plans-controls .plans-play { color: var(--ng-copper); }
.plans-controls button:disabled { cursor: default; color: var(--ng-muted); }
.plans-comparison,.plans-faq { padding-block: clamp(54px,8vw,118px); }
.plans-comparison h2,.plans-faq h2,.plans-hardware h2,.ng-plan-summary h2 { font-size: clamp(44px,6.2vw,102px); margin: 12px 0 24px; }
.plans-table { border-collapse: collapse; width: 100%; table-layout: fixed; font-size: clamp(12px,1.4vw,15px); line-height: 1.5; }
.plans-table :is(th,td) { border-bottom: 1px solid var(--ng-line); text-align: left; padding: 14px clamp(5px,1.6vw,22px); }
.plans-table tr th:first-child { width: 54%; }
.plans-table th[scope="row"] { font-weight: 500; }
.plans-table thead th { border-top: 1px solid var(--ng-line); color: var(--ng-ink); }
.plans-table thead th:last-child,.plans-table td:last-child { background: #e8845210; }
.plans-table .plans-table-group th { font-size: 12px; color: var(--ng-copper); font-weight: 600; background: #14191d; }
.plans-absent { color: var(--ng-muted); }
.plans-hardware { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(22px,5vw,82px); align-items: center; padding-block: clamp(45px,7vw,104px); border-block: 1px solid var(--ng-line); background: #0e1216; }
.plans-hardware-art { position: relative; padding: 12px 12px 35px; border-bottom: 1px solid var(--ng-line); background: radial-gradient(ellipse at 50% 75%,#23292d,transparent 70%); }
.plans-hardware-art img { width: 100%; height: auto; display: block; mix-blend-mode: lighten; }
.plans-hardware-art span { position: absolute; bottom: 10px; right: 10px; color: var(--ng-muted); font-size: 12px; }
.plans-hardware-copy>p:not(.plans-label) { color: var(--ng-muted); max-width: 58ch; line-height: 1.65; }
.plans-faq { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 24px clamp(22px,5vw,82px); }
.plans-faq details { border-top: 1px solid var(--ng-line); }
.plans-faq details:last-child { border-bottom: 1px solid var(--ng-line); }
.plans-faq summary { cursor: pointer; min-height: 48px; padding: 14px 0; color: var(--ng-ink); font-weight: 600; line-height: 1.5; }
.plans-faq details p { color: var(--ng-muted); margin: 0; padding: 0 14px 18px 18px; line-height: 1.65; }
.plans-sr { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ng-plan-summary { padding: clamp(50px,8vw,120px) var(--ng-gutter); display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: 28px clamp(24px,7vw,105px); border-block: 1px solid var(--ng-line); background: #0e1216; }
.ng-plan-rows>a:not(.ng-link) { display: grid; grid-template-columns: minmax(135px,.75fr) minmax(0,1fr) auto; align-items: center; gap: 12px; border-top: 1px solid var(--ng-line); padding-block: 17px; min-height: 64px; }
.ng-plan-rows>a strong { color: var(--ng-ink); font: 500 clamp(20px,2.3vw,34px)/1.12 Antonio,Impact,sans-serif; }
.ng-plan-rows>a:not(.ng-link) span { font-size: 13px; color: var(--ng-muted); line-height: 1.5; }
.ng-plan-rows>a b,.ng-plan-rows>a:hover strong { color: var(--ng-copper); }
.ng-plan-rows>.ng-link { margin-top: 12px; }
@media(max-width: 780px) {
 .plans-hero,.plans-showcase,.plans-hardware,.plans-faq,.ng-plan-summary { grid-template-columns: minmax(0,1fr); }
 .plans-headline h1 { font-size: clamp(54px,13vw,100px); }
 .plans-intro { padding: 0; }
 .plans-showcase { gap: 0; }
 .plans-visual { border-left: 0; border-top: 1px solid var(--ng-line); }
 .plans-controls { grid-template-columns: minmax(0,1fr); gap: 8px; }
 .plans-controls ol { gap: 4px; }
 .plans-controls button { padding: 7px 4px; }
 .plans-controls button span { display: block; margin: 0 0 2px; }
 .plans-hardware-art { grid-row: 2; }
 .plans-faq h2,.ng-plan-summary h2 { margin-bottom: 0; }
}
@media(max-width: 430px) {
 .plans-tabs button { min-height: 76px; }
 .plans-tabs button span { font-size: 11px; }
 .plans-scene figcaption { grid-template-columns: minmax(0,1fr); gap: 4px; min-height: 94px; }
 .plans-table tr th:first-child { width: 51%; }
 .ng-plan-rows>a:not(.ng-link) { grid-template-columns: minmax(0,1fr) auto; gap: 5px 12px; }
 .ng-plan-rows>a:not(.ng-link) span { grid-row: 2; }
 .ng-plan-rows>a b { grid-column: 2; grid-row: 1 / 3; }
}
@media(max-width: 360px) { .plans-controls ol { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (prefers-reduced-motion: reduce) { .plans-page * { scroll-behavior: auto; } }
html[data-motion="reduced"] .plans-page * { scroll-behavior: auto; }
