/* Public design system. Homepage source: web-templates/public-home.html. */
:root { --xf-ink:#15171d; --xf-muted:#626570; --xf-blue:#2855f8; --blue:#2855f8; --blue-dark:#2044c9; --bg:#f5f6f8; --ink:#15171d; --muted:#626570; --line:#e3e5ea; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; }
.brand-mark:has(img),.public-brand-mark:has(img) { padding:0; background:transparent; border:0; box-shadow:none; }
.brand-mark img,.public-brand-mark img { display:block; width:100%; height:100%; }
button,a,summary { touch-action:manipulation; }
:where(a,button,summary):focus-visible { outline:3px solid #6b92ff; outline-offset:5px; }
body.is-public { background:#fff; color:#15171d; }
#publicLanding { background:#fff; color:#15171d; overflow:clip; }
#publicLanding::before,#publicLanding::after { display:none; }
#publicLanding a { text-decoration:none; }
#publicLanding button { cursor:pointer; }
#publicLanding .xf-nav { width:min(1320px,calc(100% - 96px)); min-height:96px; margin:0 auto; padding:0; position:relative; display:flex; justify-content:space-between; align-items:center; gap:24px; background:#fff; border:0; border-radius:0; box-shadow:none; backdrop-filter:none; }
#publicLanding .xf-nav::before,#publicLanding .xf-nav::after { display:none; }
#publicLanding .xf-nav { top:auto; }
#publicLanding .xf-brand { display:inline-flex; align-items:center; gap:10px; color:#11151e; font-size:28px; font-weight:750; letter-spacing:-1.2px; white-space:nowrap; }
#publicLanding .xf-mark { display:inline-flex; width:32px; height:32px; flex-shrink:0; color:#2855f8; }
#publicLanding .xf-mark svg { width:100%; height:100%; }
#publicLanding .xf-brand-label { margin-left:3px; font-size:10px; font-weight:500; letter-spacing:1px; color:#626570; }
#publicLanding .xf-nav nav { display:flex; gap:30px; }
#publicLanding .xf-nav nav a { color:#494e59; font-size:14px; font-weight:500; white-space:nowrap; }
#publicLanding .xf-nav nav a:hover { color:#2855f8; }
#publicLanding .public-actions { display:flex; align-items:center; gap:24px; }
#publicLanding .public-login { padding:0; min-height:44px; color:#252932; font-size:14px; font-weight:500; background:none; border:0; }
#publicLanding .public-cta { display:inline-flex; align-items:center; gap:22px; padding:0 20px; min-height:44px; border:0; border-radius:7px; background:#2855f8; color:#fff; font-size:13px; font-weight:600; box-shadow:none; }
#publicLanding .xf-mobile-menu { display:none; }
#publicLanding .xf-hero { position:relative; isolation:isolate; margin:0 20px; padding:90px max(48px,calc((100vw - 1200px)/2 - 20px)) 0; background:#090b10; color:#fff; border-radius:18px; display:grid; grid-template-columns:1.1fr 1fr; overflow:hidden; min-height:740px; align-items:center; }
#publicLanding .hero-content { position:relative; z-index:2; width:100%; max-width:none; margin:0; padding:0 0 70px; text-align:left; }
#publicLanding .hero-kicker { display:flex; align-items:center; gap:12px; min-height:0; margin:0 0 30px; padding:0; border:0; border-radius:0; background:none; color:#c0c7d5; font-size:10px; letter-spacing:2px; font-weight:500; backdrop-filter:none; }
#publicLanding .xf-kicker-line { width:24px; height:2px; background:#6487ff; }
#publicLanding .hero-content h1 { color:#fff; font-size:clamp(44px,4.55vw,70px); line-height:1.35; letter-spacing:-2.5px; font-weight:600; margin:0; max-width:none; white-space:nowrap; }
#publicLanding .hero-content h1 em { color:#aebfff; font-style:normal; font-weight:500; }
#publicLanding .hero-subtitle { margin:28px 0 0; color:#b7becb; font-size:17px; line-height:1.9; max-width:none; font-weight:400; }
#publicLanding .hero-actions { margin-top:36px; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:28px; }
#publicLanding .hero-primary,#publicLanding .hero-secondary { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:54px; padding:0 24px; border:0; border-radius:7px; font-size:15px; font-weight:550; backdrop-filter:none; box-shadow:none; }
#publicLanding .hero-primary { background:#416aff; color:#fff; }
#publicLanding .hero-secondary { color:#d9deea; background:none; padding:0; gap:12px; font-weight:400; }
#publicLanding .xf-hero-price { color:#949eaf; margin:24px 0 0; font-size:12px; line-height:1.9; }
#publicLanding .xf-hero-price strong { color:#dce3f1; font-size:14px; font-weight:550; }
#publicLanding .xf-hero-price > span { padding:0 10px; }
#publicLanding .xf-hero-art { position:relative; width:100%; height:510px; align-self:center; margin-top:-80px; }
#publicLanding .xf-hero-art img { position:absolute; height:100%; width:145%; max-width:none; object-fit:cover; left:-20%; top:0; mix-blend-mode:screen; }
#publicLanding .xf-hero-art img { mask-image:radial-gradient(ellipse 75% 95% at 50% 50%,#000 50%,transparent 80%); }
#publicLanding .xf-art-caption { position:absolute; z-index:1; bottom:0; right:0; font-size:9px; line-height:1.7; letter-spacing:2px; color:#9ca9c4; }
#publicLanding .xf-hero-bottom { grid-column:1 / -1; position:relative; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:88px; border-top:1px solid #282d37; color:#a6afbf; font-size:11px; }
#publicLanding .xf-hero-bottom > span:first-child { color:#e0e5ef; }
#publicLanding .xf-hero-bottom i { display:inline-block; width:5px; height:5px; border-radius:50%; background:#7296ff; margin-right:8px; vertical-align:middle; }
#publicLanding .xf-hero-bottom a { color:#cbd4e5; display:flex; gap:14px; }
#publicLanding .xf-section { width:min(1200px,calc(100% - 112px)); margin:0 auto; padding:104px 0; }
#publicLanding .xf-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; margin-bottom:48px; }
#publicLanding .xf-eyebrow { color:#536079; font-size:10px; font-weight:600; letter-spacing:1.8px; line-height:1.6; margin:0 0 21px; }
#publicLanding h2 { color:#171a23; font-size:clamp(32px,3.4vw,48px); line-height:1.4; letter-spacing:-1.5px; font-weight:550; margin:0; }
#publicLanding .xf-heading > p { color:#626570; font-size:15px; line-height:1.9; margin:0 0 5px; }
#publicLanding .xf-feature-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:22px; }
#publicLanding .xf-feature { border:1px solid #e3e6ee; border-radius:13px; padding:34px; background:#f7f8fb; }
#publicLanding .xf-feature-number { display:block; color:#60739a; font-size:11px; letter-spacing:1px; margin-bottom:24px; }
#publicLanding .xf-feature h3 { margin:0; color:#1c2230; font-size:24px; line-height:1.5; letter-spacing:-.5px; font-weight:550; }
#publicLanding .xf-feature p { color:#626b7b; font-size:14px; line-height:1.9; margin:14px 0 0; }
#publicLanding .xf-feature-main { padding-bottom:0; overflow:hidden; }
#publicLanding .xf-subscription-art { margin:32px 6px 0; border:1px solid #dce2f0; border-bottom:0; padding:24px; background:#fff; border-radius:10px 10px 0 0; box-shadow:0 4px 30px #3149760a; }
#publicLanding .xf-subscription-title { display:flex; gap:12px; align-items:center; }
#publicLanding .xf-subscription-title b { display:block; font-size:13px; font-weight:600; color:#26334d; }
#publicLanding .xf-subscription-title div > span { display:block; font-size:10px; color:#758098; margin-top:5px; }
#publicLanding .xf-mini-label { display:inline-block; font-size:10px; color:#4663ae; letter-spacing:1px; background:#edf2ff; border:1px solid #dfe7fd; padding:5px 8px; border-radius:4px; }
#publicLanding .xf-subscription-title > .xf-mini-label { margin-left:auto; }
#publicLanding .xf-link-demo { display:flex; align-items:center; gap:10px; color:#66748f; font-size:11px; padding:14px 12px; border:1px solid #e2e7f2; border-radius:6px; margin-top:23px; }
#publicLanding .xf-demo-chip { margin-left:auto; color:#4568b9; font-size:10px; }
#publicLanding .xf-import-route { display:flex; gap:10px; align-items:center; margin-top:20px; color:#6c7891; font-size:10px; }
#publicLanding .xf-import-route i { flex:1; height:1px; background:#d8e0f0; }
#publicLanding .xf-feature-side { display:flex; flex-direction:column; background:#f0f3f9; }
#publicLanding .xf-os-art { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; padding:28px 0; }
#publicLanding .xf-os-art span { display:grid; place-items:center; min-height:54px; background:#fff; border:1px solid #dfe4ed; border-radius:8px; color:#44516e; font-size:14px; }
#publicLanding .xf-feature-side > a { display:flex; justify-content:space-between; color:#3359bb; font-size:13px; margin-top:auto; }
#publicLanding .xf-feature-wide { grid-column:1 / -1; display:flex; gap:25px; align-items:center; background:#fff; }
#publicLanding .xf-feature-wide .xf-feature-number { margin:0; align-self:flex-start; padding-top:8px; }
#publicLanding .xf-feature-wide h3 { font-size:22px; }
#publicLanding .xf-feature-wide p { font-size:13px; margin-top:7px; }
#publicLanding .xf-feature-wide > a { color:#3359bb; font-size:13px; display:flex; gap:25px; margin-left:auto; white-space:nowrap; }
#publicLanding .xf-pricing-section { background:#f5f6f9; }
#publicLanding .pricing-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:none; }
#publicLanding .public-plan-card { position:relative; display:grid; grid-template-rows:1fr auto; gap:30px; min-height:0; padding:40px; background:#fff; color:#161d2d; border:1px solid #dfe3eb; border-radius:13px; box-shadow:none; overflow:hidden; }
#publicLanding .public-plan-card::before,#publicLanding .public-plan-card::after { display:none; }
#publicLanding .public-plan-card.featured { color:#f2f5ff; background:#17233d; border-color:#17233d; }
#publicLanding .xf-plan-top { display:flex; justify-content:space-between; align-items:center; gap:16px; }
#publicLanding .public-plan-card .plan-label { color:#161d2d; font-size:22px; font-weight:550; background:none; border:0; padding:0; }
#publicLanding .xf-period { background:#f0f3f9; color:#60708e; border:1px solid #e1e7f0; padding:6px 10px; border-radius:5px; font-size:11px; }
#publicLanding .public-plan-card p { color:#687185; font-size:14px; line-height:1.8; margin:12px 0 25px; }
#publicLanding .public-plan-card .xf-price { display:block; color:#141e34; font-size:64px; line-height:1.3; font-weight:550; letter-spacing:-2.5px; margin:0; }
#publicLanding .public-plan-card .xf-price span { color:#687185; font-size:13px; font-weight:400; letter-spacing:0; }
#publicLanding .plan-features { display:grid; gap:14px; list-style:none; border-top:1px solid #e2e6ed; padding:27px 0 0; margin:23px 0 0; }
#publicLanding .plan-features li { position:relative; color:#4b566e; font-size:14px; line-height:1.7; padding-left:23px; }
#publicLanding .plan-features li::before { content:"✓"; position:absolute; left:0; top:0; color:#5374c2; background:none; width:auto; height:auto; font-size:13px; }
#publicLanding .plan-action { display:flex; align-items:center; justify-content:space-between; min-height:52px; width:100%; padding:0 20px; border:1px solid #cdd5e5; border-radius:7px; background:#fff; color:#24375c; font-size:14px; font-weight:550; box-shadow:none; }
#publicLanding .featured .plan-label,#publicLanding .featured .xf-price { color:#f2f5ff; }
#publicLanding .featured p,#publicLanding .featured .xf-price span,#publicLanding .featured .plan-features li { color:#bac6df; }
#publicLanding .featured .xf-period { background:#25385e; border-color:#38507d; color:#cfdbfa; }
#publicLanding .featured .plan-features { border-top-color:#354465; }
#publicLanding .featured .plan-features li::before { color:#8cacff; }
#publicLanding .featured .plan-action { background:#416aff; color:#fff; border-color:#416aff; }
#publicLanding .xf-pricing-note { display:flex; justify-content:space-between; gap:30px; color:#6b7283; font-size:12px; line-height:1.8; margin-top:24px; }
#publicLanding .xf-pricing-note a { color:#3f5b9c; white-space:nowrap; }
#publicLanding .xf-platform-workspace { display:grid; grid-template-columns:280px 1fr; background:#f5f7fb; border:1px solid #e0e6f1; border-radius:13px; overflow:hidden; }
#publicLanding .xf-platform-tabs { display:flex; flex-direction:column; padding:16px; border-right:1px solid #e0e6f1; }
#publicLanding .xf-platform-tabs button { display:flex; align-items:center; gap:15px; min-height:78px; text-align:left; padding:0 18px; border:0; background:none; color:#59657b; font-size:17px; font-weight:500; border-radius:7px; }
#publicLanding .xf-platform-tabs button > span:first-child { font-size:23px; width:28px; text-align:center; }
#publicLanding .xf-platform-tabs button > span:last-child { margin-left:auto; font-size:16px; }
#publicLanding .xf-platform-tabs [aria-selected="true"] { background:#fff; color:#2855f8; box-shadow:0 3px 12px #18357508; }
#publicLanding .xf-platform-panel { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; padding:40px; gap:32px; }
#publicLanding .xf-platform-panel h3 { font-size:25px; color:#233454; line-height:1.5; font-weight:550; margin:20px 0 14px; letter-spacing:-.5px; }
#publicLanding .xf-platform-panel p { color:#64718b; font-size:14px; line-height:1.9; margin:0; }
#publicLanding .xf-solid-link { display:inline-flex; gap:22px; align-items:center; margin-top:25px; color:#3559b5; font-size:13px; font-weight:550; }
#publicLanding p.xf-platform-note { margin-top:21px; font-size:11px; color:#73819a; }
#publicLanding .xf-platform-display { transform:perspective(900px) rotateY(-8deg) rotateX(3deg); }
#publicLanding .xf-display-screen { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:100%; aspect-ratio:1.45; min-height:150px; border:6px solid #b3bdce; background:#17223a; color:#d7e2ff; border-radius:8px; box-shadow:0 16px 26px #273e6a20; font-size:13px; }
#publicLanding .xf-display-screen .xf-mark { color:#96b4ff; width:34px; height:34px; }
#publicLanding .xf-display-screen small { color:#a6b7d9; text-align:center; font-size:6px; line-height:1.8; letter-spacing:1px; }
#publicLanding .xf-display-rule { width:45px; height:1px; background:#465a80; margin:3px 0; }
#publicLanding .xf-display-base { height:7px; width:112%; margin-left:-6%; background:#bac4d5; border-radius:1px 1px 9px 9px; }
#publicLanding .xf-client-note { display:flex; justify-content:space-between; gap:24px; color:#6d7688; font-size:11px; line-height:1.9; margin-top:22px; }
#publicLanding .xf-client-note a { color:#3d60b9; white-space:nowrap; }
#publicLanding .xf-start-section { background:#0e1421; color:#fff; }
#publicLanding .xf-start-section .xf-eyebrow { color:#a3b1d0; }
#publicLanding .xf-start-section h2 { color:#f3f6ff; }
#publicLanding .xf-start-section .xf-text-link { color:#c3d0f3; }
#publicLanding .xf-text-link { display:inline-flex; align-items:center; gap:25px; color:#375eb9; font-size:13px; }
#publicLanding .flow-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:45px; }
#publicLanding .flow-grid article { min-height:0; display:block; padding:30px 0 0; margin:0; border:0; border-top:1px solid #354058; background:none; border-radius:0; box-shadow:none; }
#publicLanding .flow-grid article > span { display:block; width:auto; height:auto; padding:0; margin:0 0 32px; background:none; color:#a0b7ed; font-size:32px; font-weight:350; line-height:1; }
#publicLanding .flow-grid strong { display:block; color:#e8edfa; font-size:21px; font-weight:500; }
#publicLanding .flow-grid p { color:#a0aec7; font-size:14px; line-height:1.9; margin:15px 0 0; }
#publicLanding .xf-help-layout { display:grid; grid-template-columns:1fr 1.3fr; gap:90px; }
#publicLanding .xf-help-aside > p:not(.xf-eyebrow) { color:#6a7180; font-size:15px; line-height:1.9; margin:24px 0; }
#publicLanding .xf-help-aside > a { display:flex; max-width:260px; justify-content:space-between; margin:18px 0 0; }
#publicLanding .xf-faq details { border-bottom:1px solid #e0e5ed; }
#publicLanding .xf-faq summary { display:flex; justify-content:space-between; align-items:center; gap:25px; list-style:none; padding:23px 0; color:#29334a; font-size:15px; line-height:1.6; cursor:pointer; font-weight:500; }
#publicLanding .xf-faq summary::-webkit-details-marker { display:none; }
#publicLanding .xf-faq summary::after { content:"+"; color:#60739a; font-size:19px; font-weight:300; }
#publicLanding .xf-faq details[open] summary::after { content:"−"; }
#publicLanding .xf-faq p { margin:0 26px 25px 0; font-size:13px; color:#6a768b; line-height:1.95; }
#publicLanding .xf-faq a { color:#375db4; text-decoration:underline; }
#publicLanding .xf-end { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:65px max(56px,calc((100% - 1200px)/2)); background:#edf2ff; border-top:1px solid #e1e9ff; }
#publicLanding .xf-end .xf-eyebrow { color:#5971ac; }
#publicLanding .xf-end h2 { font-size:37px; color:#213964; }
#publicLanding .xf-end p:not(.xf-eyebrow) { color:#63759a; font-size:14px; margin-top:18px; }
#publicLanding .xf-end button { display:flex; justify-content:space-between; gap:40px; align-items:center; min-height:56px; background:#2855f8; color:#fff; border:0; border-radius:7px; padding:0 24px; font-size:14px; }
#publicLanding .xf-footer { padding:55px max(56px,calc((100% - 1200px)/2)) 0; background:#080d17; color:#b2bed4; }
#publicLanding .xf-footer-top { display:flex; align-items:center; gap:30px; }
#publicLanding .xf-footer .xf-brand { color:#f1f4ff; }
#publicLanding .xf-footer .xf-mark { color:#9bb6ff; }
#publicLanding .xf-footer-top p { color:#9caac5; font-size:13px; }
#publicLanding .xf-footer-top > a:last-child { margin-left:auto; color:#c3d1ed; font-size:13px; }
#publicLanding .footer-links { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:20px 34px; padding:35px 0; margin:0; width:auto; }
#publicLanding .footer-links a { color:#a6b4cf; background:none; border:0; border-radius:0; box-shadow:none; padding:0; font-size:12px; font-weight:400; }
#publicLanding .xf-footer-bottom { display:flex; justify-content:space-between; gap:20px; color:#8292b0; border-top:1px solid #283246; padding-top:24px; font-size:11px; }
#publicLanding .xf-footer-wordmark { display:flex; justify-content:space-between; align-items:center; color:#233049; font-size:clamp(100px,20vw,280px); font-weight:650; letter-spacing:-16px; line-height:1.1; margin-top:45px; overflow:hidden; }
#publicLanding .xf-footer-wordmark span { font-weight:300; color:#425e93; }
/* Shared article, sign-in, and user center surfaces. */
body.is-public .public-nav:not(.xf-nav) { border-radius:0; background:#fff; color:#15171d; box-shadow:none; padding:16px 24px; margin-top:0; }
body.is-public .public-nav:not(.xf-nav) .public-brand,body.is-public .public-nav:not(.xf-nav) .public-brand > span,body.is-public .public-nav:not(.xf-nav) nav a,body.is-public .public-nav:not(.xf-nav) .public-login { color:#29334a; }
body.is-public .public-nav:not(.xf-nav) nav a { background:transparent; border-color:#e2e7f0; }
body.is-public .public-nav:not(.xf-nav) .public-brand-mark { background:#2855f8; color:#fff; border-radius:6px; box-shadow:none; }
body.is-public .public-nav:not(.xf-nav) .public-cta { color:#fff; background:#2855f8; border-radius:6px; box-shadow:none; }
body.is-public .clients-hero h1,body.is-public .tutorial-hero h1 { font-weight:600; }
body.is-public .tutorial-card,body.is-public .tutorial-toc,body.is-public .download-card { box-shadow:none; border-color:#e0e5ef; border-radius:10px; }
body.is-public .download-btn { background:#2855f8; box-shadow:none; }
.auth-modal .auth-backdrop { background:#0d1421b8; backdrop-filter:blur(9px); }
.auth-modal .auth-dialog { background:#fff; border-radius:14px; border:1px solid #e0e5ef; box-shadow:0 24px 80px #080d1740; }
.auth-modal .auth-preview-card { display:none; }
.auth-modal .primary-btn,body:not(.is-public) .primary-btn { background:#2855f8; color:#fff; box-shadow:none; }
.auth-modal .segmented button.active { background:#2855f8; color:#fff; }
body:not(.is-public) .sidebar { background:#111a2c; border-color:#111a2c; }
body:not(.is-public) .sidebar .brand strong { color:#f5f7ff; }
body:not(.is-public) .sidebar .brand span,body:not(.is-public) .sidebar .nav-item { color:#b4c0d8; }
body:not(.is-public) .sidebar .brand-mark { background:#416aff; color:#fff; }
body:not(.is-public) .sidebar .nav-item.active { background:#2855f8; color:#fff; }
body:not(.is-public) .sidebar .nav-item:hover { background:#263d67; color:#eef3ff; }
body:not(.is-public) .home-status-card { background:#edf2ff; color:#1f345d; border-color:#d5e0fa; }
body:not(.is-public) .home-status-card h3 { color:#1f345d; }
body:not(.is-public) .home-status-card p,body:not(.is-public) .home-status-card > span { color:#566b95; }
body:not(.is-public) .home-status-card .ghost-btn { color:#375db4; background:#fff; border:1px solid #cbd8f6; }
body:not(.is-public) .metric,body:not(.is-public) .quick-action { box-shadow:none; border-color:#dce3f1; }
@media (max-width:1150px) {
  #publicLanding .xf-nav { width:calc(100% - 64px); }
  #publicLanding .xf-nav nav { gap:22px; }
  #publicLanding .xf-nav nav a { font-size:12px; }
  #publicLanding .xf-brand-label { display:none; }
  #publicLanding .xf-section { width:calc(100% - 80px); }
  #publicLanding .xf-hero { padding:75px 40px 0; min-height:660px; }
  #publicLanding .hero-content h1 { font-size:49px; }
  #publicLanding .hero-subtitle { font-size:15px; }
  #publicLanding .xf-hero-art { height:420px; }
  #publicLanding .xf-platform-workspace { grid-template-columns:220px 1fr; }
  #publicLanding .xf-platform-panel { padding:30px; gap:25px; }
  #publicLanding .xf-platform-display { max-width:240px; }
}
@media (max-width:850px) {
  #publicLanding .xf-nav { min-height:80px; }
  #publicLanding .xf-nav > nav { display:none; }
  #publicLanding .xf-mobile-menu { display:block; margin:0 32px 14px; border-top:1px solid #e1e6ef; }
  #publicLanding .xf-mobile-menu summary { display:flex; justify-content:space-between; padding:15px 0 0; color:#53617b; list-style:none; font-size:12px; cursor:pointer; }
  #publicLanding .xf-mobile-menu summary::-webkit-details-marker { display:none; }
  #publicLanding .xf-mobile-menu nav { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:22px 0 7px; }
  #publicLanding .xf-mobile-menu a { color:#34496f; font-size:13px; }
  #publicLanding .xf-hero { margin:0 16px; padding:55px 30px 0; min-height:620px; grid-template-columns:1.2fr 1fr; }
  #publicLanding .hero-content h1 { font-size:40px; letter-spacing:-1.5px; }
  #publicLanding .hero-subtitle { font-size:13px; }
  #publicLanding .hero-actions { gap:20px; }
  #publicLanding .hero-primary,#publicLanding .hero-secondary { font-size:13px; min-height:49px; }
  #publicLanding .xf-hero-art { height:350px; margin-top:-45px; }
  #publicLanding .xf-hero-price { font-size:10px; }
  #publicLanding .xf-hero-bottom { flex-wrap:wrap; padding:22px 0; gap:18px; font-size:10px; }
  #publicLanding .xf-hero-bottom > span:nth-child(3) { display:none; }
  #publicLanding .xf-section { width:calc(100% - 64px); padding:75px 0; }
  #publicLanding .xf-heading { gap:24px; margin-bottom:36px; }
  #publicLanding .xf-heading > p { font-size:12px; }
  #publicLanding h2 { font-size:34px; }
  #publicLanding .xf-feature { padding:26px; }
  #publicLanding .xf-feature h3 { font-size:21px; }
  #publicLanding .xf-feature p { font-size:13px; }
  #publicLanding .xf-feature-main { padding-bottom:0; }
  #publicLanding .xf-subscription-art { margin:25px -4px 0; padding:18px; }
  #publicLanding .xf-demo-chip { display:none; }
  #publicLanding .xf-feature-wide { flex-wrap:wrap; }
  #publicLanding .xf-feature-wide > div { flex:1; }
  #publicLanding .xf-feature-wide > a { margin-left:40px; }
  #publicLanding .public-plan-card { padding:30px; }
  #publicLanding .public-plan-card .xf-price { font-size:52px; }
  #publicLanding .xf-platform-workspace { grid-template-columns:1fr; }
  #publicLanding .xf-platform-tabs { flex-direction:row; border-right:0; border-bottom:1px solid #e0e6f1; padding:12px; }
  #publicLanding .xf-platform-tabs button { flex:1; justify-content:center; padding:10px; min-height:60px; font-size:14px; gap:10px; }
  #publicLanding .xf-platform-tabs button > span:last-child { display:none; }
  #publicLanding .xf-platform-panel { padding:35px; }
  #publicLanding .xf-client-note { display:block; }
  #publicLanding .xf-client-note a { display:block; margin-top:8px; }
  #publicLanding .flow-grid { gap:30px; }
  #publicLanding .flow-grid strong { font-size:18px; }
  #publicLanding .flow-grid p { font-size:13px; }
  #publicLanding .xf-help-layout { gap:40px; }
  #publicLanding .xf-faq summary { font-size:13px; }
  #publicLanding .xf-end { padding:50px 32px; }
  #publicLanding .xf-end h2 { font-size:30px; }
  #publicLanding .xf-footer { padding:40px 32px 0; }
}
@media (max-width:600px) {
  #publicLanding .xf-nav { width:calc(100% - 40px); min-height:72px; gap:12px; }
  #publicLanding .xf-brand { font-size:24px; gap:8px; }
  #publicLanding .xf-mark { width:27px; height:27px; }
  #publicLanding .public-actions { gap:18px; }
  #publicLanding .public-login { font-size:12px; }
  #publicLanding .public-cta { display:inline-flex; font-size:11px; min-height:38px; padding:0 13px; gap:12px; }
  #publicLanding .xf-mobile-menu { margin:0 20px 14px; }
  #publicLanding .xf-hero { display:flex; flex-direction:column; align-items:stretch; margin:0 10px; padding:38px 22px 0; border-radius:12px; min-height:0; }
  #publicLanding .hero-content { padding:0; }
  #publicLanding .hero-kicker { font-size:8px; letter-spacing:1.4px; gap:10px; margin-bottom:25px; }
  #publicLanding .hero-content h1 { font-size:clamp(30px,8.7vw,45px); line-height:1.4; letter-spacing:-1.2px; }
  #publicLanding .hero-subtitle { font-size:12px; line-height:1.9; margin-top:20px; }
  #publicLanding .hero-actions { margin-top:25px; gap:22px; }
  #publicLanding .hero-primary { min-height:46px; font-size:12px; padding:0 17px; gap:22px; }
  #publicLanding .hero-secondary { min-height:46px; font-size:11px; gap:8px; }
  #publicLanding .xf-hero-price { font-size:9px; margin-top:18px; }
  #publicLanding .xf-hero-price strong { font-size:12px; }
  #publicLanding .xf-hero-price > span { padding:0 5px; }
  #publicLanding .xf-hero-art { height:280px; margin:5px -22px 0; width:calc(100% + 44px); }
  #publicLanding .xf-hero-art img { width:125%; left:-12%; height:100%; }
  #publicLanding .xf-art-caption { font-size:7px; bottom:18px; right:22px; line-height:1.7; letter-spacing:1.4px; }
  #publicLanding .xf-hero-bottom { display:grid; grid-template-columns:1fr 1fr; gap:18px 12px; min-height:0; padding:20px 0; font-size:9px; }
  #publicLanding .xf-hero-bottom > span:first-child { grid-column:1 / -1; }
  #publicLanding .xf-hero-bottom a { justify-self:end; }
  #publicLanding .xf-section { width:calc(100% - 40px); padding:58px 0; }
  #publicLanding .xf-heading { display:block; margin-bottom:28px; }
  #publicLanding h2 { font-size:30px; line-height:1.45; letter-spacing:-1px; }
  #publicLanding .xf-eyebrow { font-size:9px; letter-spacing:1.5px; margin-bottom:16px; }
  #publicLanding .xf-heading > p { font-size:12px; margin-top:20px; }
  #publicLanding .xf-feature-grid { grid-template-columns:1fr; gap:15px; }
  #publicLanding .xf-feature { padding:26px; }
  #publicLanding .xf-feature-main { padding-bottom:0; }
  #publicLanding .xf-feature-number { margin-bottom:20px; }
  #publicLanding .xf-feature h3 { font-size:20px; }
  #publicLanding .xf-feature p { font-size:12px; margin-top:12px; }
  #publicLanding .xf-subscription-art { margin-top:26px; }
  #publicLanding .xf-import-route { font-size:9px; gap:7px; }
  #publicLanding .xf-os-art { padding:24px 0; }
  #publicLanding .xf-feature-wide { display:block; }
  #publicLanding .xf-feature-wide .xf-feature-number { padding:0; margin-bottom:20px; }
  #publicLanding .xf-feature-wide > a { margin:24px 0 0; justify-content:space-between; }
  #publicLanding .pricing-grid { grid-template-columns:1fr; gap:18px; }
  #publicLanding .public-plan-card { padding:28px; gap:27px; }
  #publicLanding .public-plan-card .plan-label { font-size:21px; }
  #publicLanding .public-plan-card .xf-price { font-size:56px; }
  #publicLanding .public-plan-card p { font-size:12px; margin-bottom:21px; }
  #publicLanding .plan-features li { font-size:12px; }
  #publicLanding .xf-period { font-size:9px; }
  #publicLanding .xf-pricing-note { display:block; font-size:11px; }
  #publicLanding .xf-pricing-note a { display:block; margin-top:12px; }
  #publicLanding .xf-platform-tabs { display:grid; grid-template-columns:1fr 1fr; padding:8px; }
  #publicLanding .xf-platform-tabs button { min-height:50px; font-size:12px; justify-content:flex-start; }
  #publicLanding .xf-platform-tabs button > span:first-child { font-size:21px; }
  #publicLanding .xf-platform-panel { grid-template-columns:1fr; padding:28px 24px 32px; gap:34px; }
  #publicLanding .xf-platform-panel h3 { font-size:22px; margin-top:18px; }
  #publicLanding .xf-platform-panel p { font-size:12px; }
  #publicLanding .xf-platform-display { width:215px; justify-self:center; transform:none; }
  #publicLanding .xf-client-note { font-size:10px; margin-top:16px; }
  #publicLanding .xf-heading > .xf-text-link { margin-top:24px; }
  #publicLanding .flow-grid { grid-template-columns:1fr; gap:30px; }
  #publicLanding .flow-grid article { padding-top:24px; }
  #publicLanding .flow-grid article > span { font-size:28px; margin-bottom:22px; }
  #publicLanding .flow-grid strong { font-size:20px; }
  #publicLanding .flow-grid p { font-size:12px; margin-top:13px; }
  #publicLanding .xf-help-layout { grid-template-columns:1fr; gap:24px; }
  #publicLanding .xf-help-aside > p:not(.xf-eyebrow) { font-size:13px; }
  #publicLanding .xf-help-aside > a { font-size:12px; max-width:255px; }
  #publicLanding .xf-faq summary { font-size:12px; padding:21px 0; }
  #publicLanding .xf-faq p { font-size:12px; }
  #publicLanding .xf-end { display:block; padding:42px 20px; }
  #publicLanding .xf-end h2 { font-size:29px; }
  #publicLanding .xf-end p:not(.xf-eyebrow) { font-size:12px; }
  #publicLanding .xf-end button { margin-top:28px; min-height:50px; font-size:13px; }
  #publicLanding .xf-footer { padding:38px 20px 0; }
  #publicLanding .xf-footer-top { flex-wrap:wrap; gap:16px; }
  #publicLanding .xf-footer-top p { font-size:11px; width:calc(100% - 155px); }
  #publicLanding .xf-footer-top > a:last-child { margin-left:0; font-size:12px; }
  #publicLanding .footer-links { gap:18px 25px; padding:28px 0; }
  #publicLanding .footer-links a { font-size:11px; }
  #publicLanding .xf-footer-bottom { gap:10px; font-size:9px; line-height:1.8; }
  #publicLanding .xf-footer-wordmark { font-size:26vw; letter-spacing:-6px; margin-top:28px; }
  body.is-public .public-nav:not(.xf-nav) { padding:16px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } #publicLanding *,#publicLanding *::before,#publicLanding *::after { transition:none; animation:none; } }

.gateway-checkout {max-width: 40rem; margin-inline: auto; padding: clamp(20px, 4vw, 42px); width: 100%; box-sizing: border-box}
.gateway-checkout h3 {margin: 0 0 .6rem}
.gateway-eyebrow {font-size: .8rem; letter-spacing: .06em}
.gateway-total {display: block; font-size: clamp(32px, 5vw, 52px); line-height: 1.15; font-variant-numeric: tabular-nums}
.gateway-total small {font-size: .85rem}
.gateway-qr {background: white; width: 164px; margin: 18px 0; line-height: 0}
.gateway-qr svg {width: 100%; height: auto; fill: black}
.checkout-layout:has(.gateway-checkout) {display: block}
.gateway-checkout .copy-value {overflow-wrap: anywhere}
@media(min-width: 860px) {.pricing-grid:has([data-purchase-plan]) {grid-template-columns: repeat(3, minmax(0, 1fr))}}

.gateway-checkout .gateway-qr svg {display: block}
