/* Existing page layout, scoped to the v2 preview. */
.landing .v2-page *{box-sizing: border-box;}
.landing .v2-page a{color: inherit;
      text-decoration: none;}
.landing .v2-page .wrap{width: min(1340px, calc(100% - 48px));
      max-width: 1340px;
      margin: 0 auto;
      padding-left: 0;
      padding-right: 0;}
.landing .v2-page .brand{display: inline-flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
      font-weight: 700;}
.landing .v2-page .brand-word{display: inline-flex;
      align-items: baseline;
      gap: 8px;
      white-space: nowrap;}
.landing .v2-page .brand-word small{color: rgb(var(--muted));
      font-weight: 500;}
.landing .v2-page .nav{display: flex;
      align-items: center;
      gap: 14px;
      color: rgb(var(--muted));
      font-size: 14px;
      font-weight: 550;}
.landing .v2-page .nav a:hover{color: rgb(var(--text));}
.landing .v2-page .actions{display: flex;
      align-items: center;
      gap: 10px;}
.landing .v2-page .button{display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 38px;
      padding: 0 16px;
      border-radius: 4px;
      border: 1px solid rgb(var(--line));
      font-size: 15px;
      font-weight: 650;
      white-space: nowrap;
      background: transparent;
      color: rgb(var(--text));
      cursor: pointer;}
.landing .v2-page .button.primary{background: rgb(var(--accent));
      border-color: rgb(var(--accent));
      color: white;
      box-shadow: none;}
.landing .v2-page .button:hover{border-color: rgb(var(--text) / 0.42);}
.landing .v2-page .button.primary:hover{background: #1d4ed8;
      border-color: #1d4ed8;}
.landing .v2-page .theme-button{width: 38px;
      padding: 0;
      color: rgb(var(--muted));
      border-color: transparent;
      background: transparent;}
.landing .v2-page .theme-button:hover{color: rgb(var(--accent));
      border-color: transparent;}
.landing .v2-page .hero{margin: 0 calc(50% - 50vw);
      padding: 88px max(24px, calc((100vw - 1340px) / 2)) 76px;
      background: linear-gradient(135deg, rgb(var(--hero-from)) 0%, rgb(var(--hero-to)) 100%);
      color: #ffffff;}
.landing .v2-page html:not(.dark) .has-dark-hero .hero{padding-top: 156px;}
.landing .v2-page .hero-kicker{display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 14px;
      border-radius: 6px;
      border: 1px solid rgb(255 255 255 / 0.28);
      color: rgb(219 234 254);
      font-size: 13.5px;
      font-weight: 600;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      margin-bottom: 24px;}
.landing .v2-page .hero-cta{display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 32px;}
.landing .v2-page .hero-btn-light{display: inline-flex;
      align-items: center;
      gap: 10px;
      min-height: 46px;
      padding: 0 22px;
      border-radius: 4px;
      background: #ffffff;
      color: rgb(var(--hero-to));
      font-size: 16px;
      font-weight: 650;}
.landing .v2-page .hero-btn-light::after{content: "→";
      transition: transform 180ms ease;}
.landing .v2-page .hero-btn-light:hover::after{transform: translateX(3px);}
.landing .v2-page .hero-btn-ghost{display: inline-flex;
      align-items: center;
      min-height: 46px;
      padding: 0 22px;
      border-radius: 4px;
      border: 1px solid rgb(255 255 255 / 0.4);
      color: #ffffff;
      font-size: 16px;
      font-weight: 550;}
.landing .v2-page .hero-btn-ghost:hover{border-color: #ffffff;}
.landing .v2-page .hero-note{margin-top: 22px;
      color: rgb(191 219 254);
      font-size: 14px;}
.landing .v2-page .eyebrow{color: rgb(var(--accent));
      font-size: 14px;
      font-weight: 760;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 18px;}
.landing .v2-page h1{margin: 0;
      max-width: 1040px;
      font-size: calc(clamp(40px, 4.7vw, 52px) + 1px);
      line-height: 1.05;
      letter-spacing: 0;
      font-weight: 600;
      color: #ffffff;}
.landing .v2-page .hero-copy{margin: 24px 0 0;
      max-width: 840px;
      color: rgb(219 234 254);
      font-size: 20px;
      line-height: 1.65;}
.landing .v2-page .hero-actions{display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 34px;}
.landing .v2-page .section{padding: 64px 0;
      scroll-margin-top: 92px;}
.landing .v2-page .section-head{max-width: 980px;
      margin-bottom: 34px;}
.landing .v2-page .section-kicker{color: rgb(var(--hero-from));
      font-size: 14px;
      font-weight: 760;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 15px;}
html.dark .landing .v2-page .section-kicker{color: rgb(147 197 253);}
.landing .v2-page .section-title{margin: 0;
      max-width: 980px;
      font-size: calc(clamp(30px, 3.4vw, 38px) + 1px);
      line-height: 1.08;
      font-weight: 560;
      letter-spacing: 0;}
@media (min-width: 980px) {
.landing .v2-page .section-title--single-line{max-width: none;
        white-space: nowrap;}
}
.landing .v2-page .section-copy{margin: 16px 0 0;
      max-width: 1080px;
      color: rgb(var(--muted));
      font-size: 18px;
      line-height: 1.65;}
.landing .v2-page .byol{display: grid;
      grid-template-columns: minmax(0, 0.78fr) minmax(320px, 0.48fr);
      gap: 46px;
      align-items: start;
      padding: 28px 0;
      border-top: 1px solid rgb(var(--line));
      border-bottom: 1px solid rgb(var(--line));}
.landing .v2-page .byol h2{margin: 0 0 14px;
      font-size: 29px;
      line-height: 1.16;}
.landing .v2-page .byol p{margin: 0;
      color: rgb(var(--muted));
      font-size: 17px;
      line-height: 1.68;}
.landing .v2-page .notice{min-width: 0;
      border-left: 3px solid rgb(var(--accent));
      padding-left: 18px;
      color: rgb(var(--text));
      font-size: 16px;
      line-height: 1.65;}
.landing .v2-page .pricing-wrap{overflow-x: auto;
      border: 1px solid rgb(var(--line));
      border-radius: 8px;
      background: rgb(var(--surface));
      box-shadow: 0 14px 34px rgb(15 23 42 / 0.04);}
.landing .v2-page .pricing-table{width: 100%;
      min-width: 980px;
      border-collapse: collapse;}
.landing .v2-page .pricing-table th,
.landing .v2-page .pricing-table td{text-align: left;
      vertical-align: top;
      padding: 17px 18px;
      border-bottom: 1px solid rgb(var(--line) / 0.72);
      font-size: 14px;
      line-height: 1.48;}
.landing .v2-page .pricing-table th{background: rgb(var(--surface) / 0.72);
      color: rgb(var(--soft));
      font-size: 12px;
      font-weight: 780;
      text-transform: uppercase;
      letter-spacing: 0.08em;}
.landing .v2-page .pricing-table td:first-child{color: rgb(var(--text));
      font-weight: 720;
      width: 29%;}
.landing .v2-page .pricing-table tr:last-child td{border-bottom: 0;}
.landing .v2-page .feature-group td{padding: 10px 18px;
      background: rgb(var(--accent) / 0.055);
      color: rgb(var(--accent));
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;}
html.dark .landing .v2-page .feature-group td{color: #93c5fd;
      background: rgb(147 197 253 / 0.08);}
.landing .v2-page .feature-title,
.landing .v2-page .feature-detail,
.landing .v2-page .plan-column-tag,
.landing .v2-page .cell-detail{display: block;}
.landing .v2-page .feature-title{color: rgb(var(--text));
      font-weight: 730;}
.landing .v2-page .feature-detail,
.landing .v2-page .cell-detail,
.landing .v2-page .plan-column-tag{margin-top: 4px;
      color: rgb(var(--muted));
      font-size: 13px;
      font-weight: 500;
      line-height: 1.45;}
.landing .v2-page .cell-emphasis{color: rgb(var(--text));
      font-weight: 720;}
.landing .v2-page .plan-name{display: block;
      color: rgb(var(--text));
      font-size: 19px;
      font-weight: 760;
      line-height: 1.2;}
.landing .v2-page .price{display: block;
      color: rgb(var(--text));
      font-size: 19px;
      font-weight: 780;
      line-height: 1.2;}
.landing .v2-page .subprice{display: block;
      margin-top: 4px;
      color: rgb(var(--muted));
      font-size: 13px;
      line-height: 1.35;}
.landing .v2-page .price[hidden],
.landing .v2-page .subprice[hidden]{display: none !important;}
.landing .v2-page .check{color: rgb(var(--green));
      font-weight: 820;}
.landing .v2-page .muted{color: rgb(var(--muted));}
.landing .v2-page .included{display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0;
      border-top: 1px solid rgb(var(--line));
      border-left: 1px solid rgb(var(--line));
      margin-top: 28px;}
.landing .v2-page .matrix-note{margin: 16px 0 0;
      max-width: 980px;
      color: rgb(var(--muted));
      font-size: 14px;
      line-height: 1.62;}
.landing .v2-page .matrix-note strong{color: rgb(var(--text));
      font-weight: 700;}
.landing .v2-page .included-item{min-width: 0;
      padding: 18px;
      border-right: 1px solid rgb(var(--line));
      border-bottom: 1px solid rgb(var(--line));}
.landing .v2-page .included-item strong{display: block;
      margin-bottom: 6px;
      color: rgb(var(--text));
      font-size: 15px;
      line-height: 1.25;}
.landing .v2-page .included-item span{display: block;
      color: rgb(var(--muted));
      font-size: 14px;
      line-height: 1.5;}
.landing .v2-page .faq-list{display: grid;
      grid-template-columns: minmax(0, 980px);
      gap: 10px;}
.landing .v2-page .faq-item{min-width: 0;
      border: 1px solid rgb(var(--line));
      border-radius: 8px;
      background: rgb(var(--surface));
      transition: border-color 160ms ease, box-shadow 160ms ease;}
.landing .v2-page .faq-item[open]{border-color: rgb(var(--accent) / 0.42);
      box-shadow: 0 12px 28px rgb(15 23 42 / 0.055);}
.landing .v2-page .faq-item summary{display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      padding: 21px 22px;
      color: rgb(var(--text));
      cursor: pointer;
      font-size: 17px;
      line-height: 1.35;
      font-weight: 680;
      list-style: none;}
.landing .v2-page .faq-item summary::-webkit-details-marker{display: none;}
.landing .v2-page .faq-item summary:focus-visible{outline: 2px solid rgb(var(--accent));
      outline-offset: -4px;
      border-radius: 7px;}
.landing .v2-page .faq-icon{display: grid;
      width: 26px;
      height: 26px;
      flex: 0 0 auto;
      place-items: center;
      border-radius: 50%;
      background: rgb(var(--accent) / 0.09);
      color: rgb(var(--accent));
      font-size: 23px;
      font-weight: 400;
      line-height: 1;
      transition: transform 180ms ease, background 180ms ease;}
.landing .v2-page .faq-item[open] .faq-icon{background: rgb(var(--accent));
      color: #ffffff;
      transform: rotate(45deg);}
.landing .v2-page .faq-answer{padding: 0 22px 22px;}
.landing .v2-page .faq-answer p{margin: 0;
      color: rgb(var(--muted));
      font-size: 15px;
      line-height: 1.68;}
.landing .v2-page .cta{padding: 62px 0 78px;}
.landing .v2-page .cta-box{border-top: 1px solid rgb(var(--line));
      padding-top: 34px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 24px;}
.landing .v2-page .cta-box h2{margin: 0;
      font-size: calc(clamp(32px, 5vw, 54px) + 1px);
      line-height: 1.05;}
.landing .v2-page .cta-box p{margin: 12px 0 0;
      max-width: 720px;
      color: rgb(var(--muted));
      font-size: 17px;
      line-height: 1.6;}
.landing .v2-page .cta-actions{display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 12px;}
.landing .v2-page .footer{padding: 44px 0 42px;
      border-top: 1px solid rgb(var(--line));}
@media (max-width: 980px) {
.landing .v2-page .nav{display: none;}
.landing .v2-page .byol,
.landing .v2-page .cta-box{grid-template-columns: 1fr;}
.landing .v2-page .included{grid-template-columns: 1fr;}
.landing .v2-page .faq-list{grid-template-columns: 1fr;}
.landing .v2-page .cta-actions{justify-content: flex-start;}
}
@media (max-width: 640px) {
.landing .v2-page .wrap{padding-left: 16px;
        padding-right: 16px;}
.landing .v2-page .actions .button:not(.theme-button){display: none;}
.landing .v2-page .brand-word small{display: none;}
.landing .v2-page .hero{padding-top: 58px;}
.landing .v2-page .section{padding: 48px 0;}
}
.landing .v2-page .plans-hero{padding-top: 44px;}
.landing .v2-page .plans-hero h1{color: rgb(var(--text));
      font-size: calc(clamp(34px, 4vw, 46px) + 1px);
      line-height: 1.1;}
.landing .v2-page .v1-pricing-grid{display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
      align-items: stretch;
      margin-top: 10px;}
.landing .v2-page .v1-card-surface{border: 1px solid rgb(var(--line));
      border-radius: 6px;
      background: rgb(var(--bg));}
html.dark .landing .v2-page .v1-card-surface{background: rgb(var(--surface) / 0.5);}
.landing .v2-page .v1-plan{display: flex;
      flex-direction: column;
      gap: 0;
      padding: 30px 28px;}
.landing .v2-page .v1-plan--featured{position: relative;
      background: rgb(var(--accent) / 0.045);
      border: 1px solid rgb(var(--accent) / 0.45);
      border-radius: 6px;}
html.dark .landing .v2-page .v1-plan--featured{background: rgb(147 197 253 / 0.07);
      border-color: rgb(147 197 253 / 0.4);}
.landing .v2-page .v1-plan-name{font-size: 14px;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: rgb(var(--accent));}
html.dark .landing .v2-page .v1-plan-name{color: #93c5fd;}
.landing .v2-page .v1-plan-intro{min-height: 44px;
      margin: 8px 0 0;
      color: rgb(var(--muted));
      font-size: 15px;
      line-height: 1.52;}
.landing .v2-page .v1-plan-flag{position: absolute;
      top: -11px;
      left: 26px;
      display: inline-flex;
      align-items: center;
      min-height: 22px;
      padding: 0 10px;
      border-radius: 4px;
      background: rgb(var(--accent));
      color: #ffffff;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;}
.landing .v2-page .v1-plan-price{margin-top: 10px;
      font-size: 37px;
      font-weight: 750;
      line-height: 1;}
.landing .v2-page .v1-plan-price small{font-size: 16px;
      font-weight: 500;
      color: rgb(var(--soft));}
.landing .v2-page .billing-control{display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 14px 18px;
      margin: 0 0 28px;}
.landing .v2-page .billing-toggle{position: relative;
      isolation: isolate;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      width: 264px;
      min-height: 48px;
      padding: 4px;
      border: 1px solid rgb(var(--line) / 0.9);
      border-radius: 999px;
      background: rgb(var(--surface) / 0.82);
      box-shadow: inset 0 1px 1px rgb(15 23 42 / 0.04), 0 6px 20px rgb(15 23 42 / 0.04);
      backdrop-filter: blur(12px);}
.landing .v2-page .billing-toggle-indicator{position: absolute;
      top: 4px;
      bottom: 4px;
      left: 4px;
      width: calc(50% - 4px);
      border-radius: 999px;
      background: rgb(var(--text));
      box-shadow: 0 2px 7px rgb(15 23 42 / 0.16);
      transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1), background 180ms ease;
      z-index: 0;}
.landing .v2-page .billing-toggle.is-annual .billing-toggle-indicator{transform: translateX(100%);
      background: rgb(var(--accent));}
.landing .v2-page .billing-toggle-option{display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 38px;
      min-width: 0;
      padding: 0 15px;
      border: 0;
      border-radius: 999px;
      background: transparent;
      color: rgb(var(--muted));
      font: inherit;
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
      position: relative;
      z-index: 1;
      transition: color 180ms ease;}
.landing .v2-page .billing-toggle-option:hover{color: rgb(var(--text));}
.landing .v2-page .billing-toggle-option.is-active{color: #ffffff;}
.landing .v2-page .billing-saving-badge{display: inline-flex;
      align-items: center;
      min-height: 28px;
      padding: 0 10px;
      border-radius: 999px;
      border: 1px solid rgb(var(--accent) / 0.18);
      background: rgb(var(--accent) / 0.08);
      color: rgb(var(--accent));
      font-size: 12px;
      font-weight: 730;
      letter-spacing: 0.02em;
      white-space: nowrap;}
.landing .v2-page .billing-toggle-option:focus-visible{outline: 2px solid rgb(var(--accent));
      outline-offset: 2px;}
.landing .v2-page .billing-caption{margin: 0;
      color: rgb(var(--muted));
      font-size: 14px;
      line-height: 1.5;}
.landing .v2-page .billing-caption strong{color: rgb(var(--text));
      font-weight: 700;}
.landing .v2-page .v1-plan-sub{margin-top: 6px;
      font-size: 14px;
      color: rgb(var(--soft));}
.landing .v2-page .v1-plan-metric{margin-top: 18px;
      padding: 11px 12px;
      border: 1px solid rgb(var(--line));
      border-radius: 6px;
      background: rgb(var(--surface) / 0.7);}
.landing .v2-page .v1-plan-metric strong,
.landing .v2-page .v1-plan-metric span{display: block;}
.landing .v2-page .v1-plan-metric strong{color: rgb(var(--text));
      font-size: 14px;
      font-weight: 730;}
.landing .v2-page .v1-plan-metric span{margin-top: 2px;
      color: rgb(var(--muted));
      font-size: 13px;
      line-height: 1.45;}
.landing .v2-page .v1-plan ul{margin: 20px 0 24px;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 9px;
      font-size: 15px;
      color: rgb(var(--muted));
      flex: 1;}
.landing .v2-page .v1-plan li{position: relative;
      padding-left: 22px;}
.landing .v2-page .v1-plan li strong,
.landing .v2-page .v1-plan li span{display: block;}
.landing .v2-page .v1-plan li strong{color: rgb(var(--text));
      font-size: 14px;
      font-weight: 700;}
.landing .v2-page .v1-plan li span{margin-top: 1px;
      color: rgb(var(--muted));
      font-size: 13px;
      line-height: 1.42;}
.landing .v2-page .v1-plan li::before{content: "✓";
      position: absolute;
      left: 0;
      color: rgb(var(--green));
      font-weight: 700;}
.landing .v2-page .v1-plan-btn{display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      border-radius: 4px;
      border: 1px solid rgb(var(--accent));
      color: rgb(var(--accent));
      font-size: 15.5px;
      font-weight: 650;
      transition: background 160ms ease, color 160ms ease;}
html.dark .landing .v2-page .v1-plan-btn{border-color: rgb(147 197 253);
      color: rgb(147 197 253);}
.landing .v2-page .v1-plan-btn:hover{background: rgb(var(--accent));
      color: #ffffff;}
.landing .v2-page .v1-plan-cta-note{margin: 10px 0 0;
      color: rgb(var(--soft));
      font-size: 12.5px;
      line-height: 1.45;
      text-align: center;}
.landing .v2-page .v1-payment-note{margin: 20px 0 0;
      color: rgb(var(--muted));
      font-size: 14px;
      line-height: 1.6;}
.landing .v2-page .v1-payment-note strong{color: rgb(var(--text));}
.landing .v2-page .v1-plan--featured .v1-plan-btn{background: rgb(var(--accent));
      color: #ffffff;
      border-color: rgb(var(--accent));}
.landing .v2-page .v1-plan--featured .v1-plan-btn:hover{background: rgb(37 99 235);}
@media (max-width: 1000px) {
.landing .v2-page .v1-pricing-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 640px) {
.landing .v2-page .v1-pricing-grid{grid-template-columns: 1fr;}
.landing .v2-page .billing-control{align-items: stretch;}
.landing .v2-page .billing-toggle{width: 100%;}
.landing .v2-page .billing-toggle-option{min-width: 0;
        padding: 0 10px;}
}
