/* THEMEEDITOR front styles (Vertex landing). Loaded only once a design is published or previewed.
   Every colour comes from the Vertex tokens (--vn-*), so sections follow the brand colour and dark/light. */

/* native sections: options */
/* sign in box on the left: only while the hero has two columns (Vertex stacks it at <=1080px) */
@media(min-width:1081px){
  .vn-hero.te-form-left .vn-hero-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
  .vn-hero.te-form-left .vn-hero-grid > .vn-auth-wrap{order:-1}
}
.vn-api .vn-api-grid:not(:has(.vn-code)){grid-template-columns:1fr}
.vn-api .vn-api-grid:not(:has(.vn-code)) .vn-api-copy{max-width:760px}

/* shared */
.te-sec .te-head{margin-bottom:32px}
.te-center,.te-head.te-center{text-align:center;margin-left:auto;margin-right:auto}
.te-cta-row{margin-top:22px;flex-wrap:wrap}
.te-cta-row.te-center{justify-content:center;display:flex}
.te-rich{font-size:1.03rem;line-height:1.7;color:var(--vn-ink-2);margin-top:14px}
.te-rich p{margin:0 0 .9em}
.te-rich p:last-child{margin-bottom:0}
.te-rich ul{margin:0 0 .9em;padding-left:1.2em}
.te-rich a{color:var(--vn-acc-hi);text-decoration:underline;text-underline-offset:3px}
.te-rich b{color:var(--vn-ink)}
.te-grid{display:grid;gap:16px}
.te-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.te-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.te-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1080px){.te-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.te-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.te-cols-2,.te-cols-3,.te-cols-4{grid-template-columns:1fr}}
.te-card{display:block;position:relative;background:var(--vn-panel);border:1px solid var(--vn-line-2);border-radius:var(--vn-r);box-shadow:var(--vn-sh);padding:22px;color:var(--vn-ink);text-decoration:none;min-width:0;transition:border-color .15s,transform .15s}
a.te-card:hover{border-color:var(--vn-acc-line);transform:translateY(-2px)}
.te-card.te-plain{background:none;border-color:transparent;box-shadow:none;padding:6px 0}
.te-card b{display:block;font-family:var(--vn-font-d);font-size:1.08rem;font-weight:600;letter-spacing:-.01em;color:var(--vn-ink)}
.te-card p{margin:8px 0 0;color:var(--vn-ink-2);font-size:.95rem;line-height:1.6}
.te-ic{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:var(--vn-r-sm);background:var(--vn-acc-soft);color:var(--vn-acc-hi);font-size:18px;margin-bottom:14px}
.te-ph{display:grid;place-items:center;gap:8px;min-height:220px;border:1px dashed var(--vn-line-2);border-radius:var(--vn-r);color:var(--vn-ink-3);font-size:30px;background:var(--vn-panel-2)}
.te-ph span{font-size:13px}
.te-empty{padding:28px 0!important}
.te-empty-box{border:1px dashed var(--vn-acc-line);border-radius:var(--vn-r);padding:18px 20px;color:var(--vn-ink-2);background:var(--vn-acc-soft);font-size:14px;text-align:center}
.te-empty-box i{margin-right:6px;color:var(--vn-acc-hi)}

/* text */
.te-text-in.te-w-narrow{max-width:640px}
.te-text-in.te-w-normal{max-width:820px}
.te-text-in.te-w-wide{max-width:none}
.te-text-in.te-al-center{text-align:center;margin-left:auto;margin-right:auto}
.te-text-in.te-al-center .te-cta-row{justify-content:center}
.te-text-in.te-al-center .vn-eyebrow{justify-content:center}

/* image with text */
.te-it-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.te-it-right .te-it-media{order:2}
.te-it-media img{display:block;width:100%;height:auto}
.te-it-media.te-round img,.te-it-media.te-round .te-ph{border-radius:var(--vn-r)}
@media(max-width:860px){.te-it-grid{grid-template-columns:1fr;gap:24px}.te-it-right .te-it-media{order:0}}

/* numbers */
.te-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:0}
.te-stat{padding:22px}
.te-stat dd{margin:0;font-family:var(--vn-font-d);font-size:clamp(1.7rem,1.2rem + 1.4vw,2.4rem);font-weight:600;letter-spacing:-.03em;color:var(--vn-ink)}
.te-stat dt{margin-top:6px;color:var(--vn-ink-3);font-size:13px}

/* call to action */
.te-cta-box{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:44px 48px;border-radius:16px;position:relative;overflow:hidden}
.te-cta-box .vn-sub{margin-top:10px}
.te-look-accent{background:linear-gradient(135deg,var(--vn-acc),color-mix(in srgb,var(--vn-acc) 60%,#000));color:#fff}
.te-look-accent :is(.vn-h2,.vn-sub,.vn-eyebrow){color:#fff}
.te-look-accent .vn-btn-pri{background:#fff;color:#111;border-color:#fff}
.te-look-accent .vn-btn-line{color:#fff;border-color:rgba(255,255,255,.55)}
.te-look-panel{background:var(--vn-panel);border:1px solid var(--vn-line-2);box-shadow:var(--vn-sh)}
.te-look-ink{background:var(--vn-ink-bg);color:var(--vn-ink-tx)}
.te-look-ink :is(.vn-h2){color:var(--vn-ink-tx)}
.te-look-ink :is(.vn-sub){color:var(--vn-ink-tx-2)}
@media(max-width:760px){.te-cta-box{flex-direction:column;align-items:stretch;padding:28px 20px}}

/* reviews */
.te-quote{margin:0;display:flex;flex-direction:column;gap:14px}
.te-quote blockquote{margin:0;color:var(--vn-ink);font-size:1rem;line-height:1.65}
.te-stars{color:#f5b301;font-size:13px;display:flex;gap:2px}
.te-quote figcaption{display:flex;align-items:center;gap:10px;margin-top:auto}
.te-quote figcaption img,.te-av{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none}
.te-av{display:grid;place-items:center;background:var(--vn-acc-soft);color:var(--vn-acc-hi);font-weight:700}
.te-quote figcaption b{font-size:.95rem}
.te-quote figcaption small{display:block;color:var(--vn-ink-3);font-size:12.5px}

/* logos */
.te-logos-h{text-align:center;color:var(--vn-ink-3);font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 22px}
.te-logo-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:28px 44px}
.te-logo img{display:block;max-height:40px;max-width:150px;width:auto;height:auto}
.te-logo-row.te-gray .te-logo img{filter:grayscale(1);opacity:.7;transition:filter .2s,opacity .2s}
.te-logo-row.te-gray .te-logo:hover img{filter:none;opacity:1}

/* video */
.te-vid{position:relative;border-radius:var(--vn-r);overflow:hidden;background:#000;box-shadow:var(--vn-sh-lg)}
.te-vid.te-r-16x9{aspect-ratio:16/9}
.te-vid.te-r-4x3{aspect-ratio:4/3}
.te-vid.te-r-9x16{aspect-ratio:9/16;max-width:380px;margin:0 auto}
.te-vid iframe,.te-vid video{position:absolute;inset:0;width:100%;height:100%;border:0}
.te-vid .te-ph{position:absolute;inset:0;border-radius:0}

/* pricing */
.te-plan{display:flex;flex-direction:column;gap:14px;padding:26px}
.te-plan-n{font-size:1rem}
.te-plan-p .vn-num{font-family:var(--vn-font-d);font-size:2.2rem;font-weight:600;letter-spacing:-.03em}
.te-plan-p small{color:var(--vn-ink-3);margin-left:6px}
.te-plan ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;color:var(--vn-ink-2);font-size:.95rem}
.te-plan li i{color:var(--vn-up);margin-right:8px}
.te-plan .vn-btn{margin-top:auto}
.te-featured{border-color:var(--vn-acc);box-shadow:0 0 0 1px var(--vn-acc),var(--vn-sh-lg)}

/* popular services */
.te-svc-c{display:flex;flex-direction:column;gap:6px;padding:18px}
.te-svc-t{display:flex;align-items:center;justify-content:space-between;color:var(--vn-ink-3);font-size:12px}
.te-svc-t i{font-size:18px}
.te-svc-c b{font-family:var(--vn-font);font-size:.95rem;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.te-svc-c small{color:var(--vn-ink-3);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.te-svc-p{display:flex;align-items:baseline;gap:4px;margin-top:auto;padding-top:8px}
.te-svc-p .vn-num{font-size:1.15rem;font-weight:700;color:var(--vn-ink)}
.te-svc-p em{font-style:normal;color:var(--vn-ink-3);font-size:12px}
.te-buy{margin-left:auto;color:var(--vn-acc-hi);font-weight:600;font-size:13px}

/* platforms */
.te-plat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.te-plat{display:flex;align-items:center;gap:10px;padding:14px 16px}
.te-plat i{font-size:20px;width:22px;text-align:center}
.te-plat b{font-family:var(--vn-font);font-size:.95rem;font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.te-plat small{color:var(--vn-ink-3);font-size:12px}

/* custom html + spacer */
.te-html{padding:24px 0}
.te-spacer hr{border:0;border-top:1px solid var(--vn-line-2);margin:0;position:relative;top:50%}
.te-spacer{position:relative}
.te-spacer > .vn-wrap{height:100%;display:flex;align-items:center}
.te-spacer > .vn-wrap hr{flex:1;top:auto}

/* ================= designed pages (te/page.twig) ================= */
.te-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* page banner */
.te-banner{padding:72px 0 64px}
.te-bn-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;align-items:center}
.te-bn-has-img .te-bn-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.te-bn-center .te-bn-copy{text-align:center;max-width:880px;margin:0 auto}
.te-bn-center.te-bn-has-img .te-bn-copy{text-align:left;margin:0}
.te-bn-h{font-size:clamp(2.1rem,1.2rem + 3vw,3.6rem)}
.te-bn-center:not(.te-bn-has-img) .vn-lead{margin-left:auto;margin-right:auto}
.te-bn-lead{margin-top:22px}
.te-bn-pts{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--vn-ink-2);font-size:.97rem}
.te-bn-pts i{color:var(--vn-up);margin-right:8px}
.te-bn-offer{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:26px}
.te-bn-center:not(.te-bn-has-img) :is(.te-bn-pts,.te-bn-offer,.vn-cta){justify-content:center}
.te-code{display:inline-flex;align-items:center;gap:10px;padding:7px 7px 7px 14px;border:1px dashed var(--vn-acc-line);border-radius:var(--vn-r-sm);background:var(--vn-acc-soft)}
.te-code span{font-size:12.5px;color:var(--vn-ink-2)}
.te-code b{font-size:1.1rem;letter-spacing:.06em;color:var(--vn-ink)}
.te-copy{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:calc(var(--vn-r-sm) - 2px);background:var(--vn-acc);color:#fff;font:600 12.5px/1 var(--vn-font);padding:9px 12px;cursor:pointer}
.te-copy:hover{filter:brightness(1.08)}
.te-cd{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:3px;padding:10px 14px;border-radius:var(--vn-r-sm);background:var(--vn-panel);border:1px solid var(--vn-line-2);color:var(--vn-ink-2);font-size:13px}
.te-cd b{font-size:1.08rem;color:var(--vn-ink)}
.te-cd small{margin-right:7px;color:var(--vn-ink-3)}
.te-cd-l{margin-right:6px}
.te-cd .te-cd-end{display:none;font-weight:600;color:var(--vn-ink)}
.te-cd.ended .te-cd-live{display:none}
.te-cd.ended .te-cd-end{display:inline}
.te-bn-media img{display:block;width:100%;height:auto;border-radius:var(--vn-r);box-shadow:var(--vn-sh-lg)}
@media(max-width:980px){.te-bn-has-img .te-bn-grid{grid-template-columns:1fr;gap:32px}}
@media(max-width:760px){.te-banner{padding:44px 0 40px}}
/* the page text right under its banner: one gap, not two */
body.vn-land .te-banner + .te-article{padding-top:0}

/* page text */
.te-art{margin:0 auto}
.te-art-narrow{max-width:720px}
.te-art-normal{max-width:880px}
.te-art-wide{max-width:none}
.te-art-h1{margin:0 0 22px}
.te-art-card{background:var(--vn-panel);border:1px solid var(--vn-line-2);border-radius:var(--vn-r);box-shadow:var(--vn-sh);padding:clamp(22px,1rem + 2vw,48px)}
.te-prose{color:var(--vn-ink-2);font-size:1.04rem;line-height:1.75;overflow-wrap:anywhere}
.te-prose > :first-child{margin-top:0}
.te-prose > :last-child{margin-bottom:0}
.te-prose :is(h1,h2,h3,h4){font-family:var(--vn-font-d);color:var(--vn-ink);letter-spacing:-.02em;line-height:1.2;margin:1.8em 0 .6em;font-weight:600}
.te-prose h1{font-size:1.9rem}
.te-prose h2{font-size:1.6rem}
.te-prose h3{font-size:1.25rem}
.te-prose h4{font-size:1.08rem}
.te-prose p{margin:0 0 1.1em}
.te-prose :is(ul,ol){margin:0 0 1.1em;padding-left:1.3em}
.te-prose li{margin:.3em 0}
.te-prose a{color:var(--vn-acc-hi);text-decoration:underline;text-underline-offset:3px}
.te-prose :is(strong,b){color:var(--vn-ink)}
.te-prose img{max-width:100%;height:auto;border-radius:var(--vn-r-sm)}
.te-prose blockquote{margin:1.4em 0;padding:4px 0 4px 18px;border-left:3px solid var(--vn-acc);color:var(--vn-ink)}
.te-prose table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.95rem;display:block;overflow-x:auto}
.te-prose :is(th,td){border:1px solid var(--vn-line-2);padding:9px 12px;text-align:left;vertical-align:top}
.te-prose th{background:var(--vn-panel-2);color:var(--vn-ink)}
.te-prose code{font-family:var(--vn-mono);font-size:.9em;background:var(--vn-panel-2);padding:2px 6px;border-radius:5px}
.te-prose pre{overflow-x:auto;background:var(--vn-panel-2);padding:14px;border-radius:var(--vn-r-sm)}
.te-prose pre code{background:none;padding:0}
.te-prose hr{border:0;border-top:1px solid var(--vn-line-2);margin:2em 0}
.te-rel{margin-top:36px}
.te-rel-h{font-family:var(--vn-font-d);font-size:1.2rem;font-weight:600;color:var(--vn-ink);margin:0 0 14px}
.te-rel-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.te-card.te-rel-i{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}
.te-card.te-rel-i b{font-family:var(--vn-font);font-size:.95rem;font-weight:600}
.te-rel-i i{color:var(--vn-acc-hi);font-size:13px;flex:none}

/* questions and answers */
.te-qa-in{max-width:880px;margin:0 auto}
.te-qa-list{display:grid;gap:10px}
.te-qa-i{background:var(--vn-panel);border:1px solid var(--vn-line-2);border-radius:var(--vn-r);box-shadow:var(--vn-sh);overflow:hidden}
.te-qa-i summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;font-weight:600;color:var(--vn-ink);font-size:1rem;line-height:1.4}
.te-qa-i summary::-webkit-details-marker{display:none}
.te-qa-i summary i{color:var(--vn-acc-hi);transition:transform .2s;flex:none}
.te-qa-i[open] summary i{transform:rotate(45deg)}
.te-qa-a{padding:0 20px 18px;color:var(--vn-ink-2);line-height:1.7}

/* steps */
.te-step-row{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.te-step-row.te-n-1{grid-template-columns:minmax(0,560px)}
.te-step-row:is(.te-n-2,.te-n-4){grid-template-columns:repeat(2,minmax(0,1fr))}
.te-step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.te-step-n{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--vn-acc);color:#fff;font:700 14px/1 var(--vn-font)}
.te-step .te-ic{margin:0}
@media(max-width:860px){.te-step-row,.te-step-row:is(.te-n-2,.te-n-4){grid-template-columns:1fr}}
