/* One connected Free/Pro comparison and purchase ending. */
.landing .plans-offer > h2, .landing .plans-intro { text-align:center; }
.landing .plans-intro { color:var(--color-support); margin:var(--space-6) auto 0; }
.landing .plan-shell { margin-top:var(--space-12); border:1px solid var(--color-border); border-radius:var(--radius-disclosure); background:var(--color-bg); }
.landing .plan-choice { width:100%; margin:0; table-layout:fixed; border-collapse:separate; border-spacing:0; border:0; }
.landing .plan-choice .feature-column { width:44%; }
.landing .plan-choice th, .landing .plan-choice td { border:0; border-bottom:1px solid var(--color-border); padding:var(--space-6) var(--space-8); font:400 16px/1.5 var(--font-body); vertical-align:middle; }
.landing .plan-choice thead th { padding-block:var(--space-8); font-size:24px; font-weight:500; text-align:center; }
.landing .plan-choice tbody th { text-align:left; color:var(--color-text); }
.landing .plan-choice td { text-align:center; color:var(--color-support); }
.landing .plan-choice tr > :last-child { background:var(--color-surface); }
.landing .plan-pro-label { color:var(--color-accent); }
.landing .plan-mark { display:inline-flex; align-items:center; vertical-align:middle; }
.landing .plan-mark svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.landing .plan-mark.is-included { color:var(--color-accent); }
.landing .plan-mark.is-unavailable { color:var(--color-support); }
.landing .plan-choice .plan-detail { display:block; margin-top:6px; font-size:14px; line-height:1.45; }
.landing .plans-offer .plan-note { margin:0; padding:var(--space-6) var(--space-8); max-width:none; font-size:14px; line-height:1.6; color:var(--color-support); }
.landing .plans-offer .offer-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:var(--space-12); margin:0; padding:var(--space-12) var(--space-8); background:var(--color-surface); border-bottom:1px solid var(--color-border); border-radius:var(--radius-disclosure) var(--radius-disclosure) 0 0; }
.landing .offer-name { margin:0; font:500 20px/1.35 var(--font-body); }
.landing .offer-price-line { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-6); margin-top:var(--space-4); }
.landing .offer-price { display:block; font:600 clamp(40px,4.5vw,60px)/1.12 var(--font-display); letter-spacing:-.02em; font-variant-numeric:tabular-nums; white-space:nowrap; }
.landing .early-bird-badge { display:flex; align-items:center; gap:var(--space-2); max-width:220px; color:var(--color-accent); font:500 14px/1.35 var(--font-body); }
.landing .offer-intro { margin-top:var(--space-3); color:var(--color-support); font-size:16px; }
.landing .offer-seats { min-width:0; margin:0; padding:0; border:0; }
.landing .offer-seats[hidden] { display:none; }
.landing .offer-seats legend { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.landing .offer-seat-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-1); padding:var(--space-1); border:1px solid var(--color-control); border-radius:var(--radius-control); }
.landing .offer-seat { position:relative; min-width:0; }
.landing .offer-seat input { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.landing .offer-seat label { display:flex; align-items:center; justify-content:center; min-height:44px; padding:var(--space-2) var(--space-1); color:var(--color-support); font:500 16px/1.5 var(--font-body); cursor:pointer; border-radius:var(--radius-control); }
.landing .offer-seat label:hover { color:var(--color-text); }
.landing .offer-seat input:checked + label { color:var(--color-text); background:var(--color-bg); box-shadow:inset 0 -2px var(--color-accent); }
.landing .offer-seat input:focus-visible + label { outline:2px solid var(--color-focus); outline-offset:4px; }
.landing .offer-purchase-detail { margin-top:var(--space-3); color:var(--color-support); font-size:14px; }
.landing .offer-actions { display:grid; gap:var(--space-2); margin-top:var(--space-6); text-align:center; }
.landing .offer-buy { display:flex; justify-content:center; align-items:center; min-height:52px; padding:var(--space-3) var(--space-4); border:1px solid var(--color-accent); border-radius:var(--radius-control); color:var(--color-bg); background:var(--color-accent); font:500 16px/1.5 var(--font-body); }
.landing .offer-buy:disabled, .landing .offer-download:disabled { opacity:1; cursor:default; }
.landing .offer-download { display:flex; align-items:center; justify-content:center; gap:var(--space-2); width:100%; min-height:52px; margin:0; padding:var(--space-3) var(--space-4); border:1px solid var(--color-accent); border-radius:var(--radius-control); color:var(--color-bg); background:var(--color-accent); font:500 16px/1.5 var(--font-body); text-decoration:none; }
.landing .offer-download svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.landing .offer-free { scroll-margin-block:var(--space-12); }
.landing .offer-creator { margin:var(--space-6) auto 0; text-align:center; }
.landing .offer-creator a { display:inline-block; padding-block:var(--space-2); font-size:16px; font-weight:500; }
.landing .faq-section { max-width: 960px; margin-inline: auto; }
.landing .faq-section > h2 { text-align: center; }
.landing .faq-draft-note { margin: var(--space-6) auto 0; color: var(--color-support); text-align: center; font-size: 16px; }
.landing .faq-list { margin-top: var(--space-12); border-top: 1px solid var(--color-border); }
.landing .faq-list details { border-bottom: 1px solid var(--color-border); }
.landing .faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); min-height: 64px; padding-block: var(--space-8); font: 400 18px/1.65 var(--font-body); list-style: none; cursor: pointer; }
.landing .faq-list summary::-webkit-details-marker { display: none; }
.landing .faq-list summary::after { content: "+"; flex: none; color: var(--color-support); font: 400 24px/1 var(--font-body); }
.landing .faq-list details[open] > summary::after { content: "−"; }
.landing .faq-answer { padding: 0 var(--space-12) var(--space-6) 0; color: var(--color-support); }
.landing .faq-answer p { font-size: 16px; }

@media (max-width:767px) {
 .landing .plan-shell { margin-top:var(--space-8); }
 .landing .plan-choice .feature-column { width:40%; }
 .landing .plan-choice col:nth-child(2) { width:26%; }
 .landing .plan-choice col:nth-child(3) { width:34%; }
 .landing .plan-choice th, .landing .plan-choice td { padding:var(--space-4) var(--space-3); font-size:16px; }
 .landing .plan-choice thead th { padding-block:var(--space-6); font-size:20px; }
 .landing .plans-offer .plan-note { padding:var(--space-6); }
 .landing .plans-offer .offer-panel { grid-template-columns:1fr; gap:var(--space-8); padding:var(--space-8) var(--space-6); }
 .landing .offer-price-line { gap:var(--space-4); }
 .landing .faq-list { margin-top:var(--space-8); }
 .landing .faq-list summary { gap:var(--space-4); padding-block:var(--space-6); font-size:16px; }
 .landing .faq-answer { padding-right:var(--space-8); }
}
@media (max-width:479px) {
 .landing .plan-choice th, .landing .plan-choice td { padding-inline:6px; font-size:14px; overflow-wrap:normal; }
 .landing .plans-offer .offer-panel { padding:var(--space-8) var(--space-4); }
 .landing .plans-offer .plan-note { padding:var(--space-4); }
 .landing .early-bird-badge { max-width:160px; }
}
@media (max-width:359px) {
 .landing .plan-choice .feature-column { width:36%; }
 .landing .plan-choice col:nth-child(3) { width:38%; }
 .landing .plan-choice thead th { font-size:18px; }
}
@media (forced-colors:active) {
 .landing .plan-pro-label, .landing .plan-mark.is-included { color:CanvasText; }
 .landing .offer-seat input:checked + label { outline:2px solid Highlight; outline-offset:-2px; }
 .landing .offer-seat input:focus-visible + label { outline:2px solid Highlight; outline-offset:4px; }
 .landing .offer-buy:disabled, .landing .offer-download:disabled { color:GrayText; border-color:GrayText; }
}
