/* THEMEEDITOR front styles for the Pulse theme. Loaded only once a design is published or previewed.
   Every colour comes from Pulse's own tokens (--brand, --surface, --line, --text, --muted), so sections follow
   the panel's brand colour and light / dark (html.nv-dark). --te-r is the editor's corner rounding. */

/* native sections: sign in box on the left (only while the hero has two columns) */
@media(min-width:981px){
  .hero.te-form-left .hero-g{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
  .hero.te-form-left .hero-g > .auth-card{order:-1}
}

/* shared */
.te-sec .te-head{margin-bottom:30px}
.te-head.te-center{justify-content:center;text-align:center}
.te-head.te-center p{margin-inline:auto}
.te-h2{font-size:38px;line-height:1.1;letter-spacing:-.03em;font-weight:800;margin-top:10px;text-wrap:balance}
.te-sub{color:var(--muted);margin-top:8px;max-width:40em}
.te-cta-row{margin-top:22px}
.te-cta-row.te-center{justify-content:center}
.te-rich{font-size:1.02rem;line-height:1.7;color:var(--muted);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-inline-start:1.2em}
.te-rich a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.te-rich b{color:var(--text)}
.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:980px){.te-cols-4,.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(--surface);border:1px solid var(--line);border-radius:var(--te-r,16px);box-shadow:var(--sh);padding:22px;color:var(--text);min-width:0;transition:border-color .15s,transform .15s}
a.te-card:hover{border-color:var(--brand-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-size:1.05rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}
.te-card p{margin:8px 0 0;color:var(--muted);font-size:.95rem;line-height:1.6}
.te-ic{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--brand-soft);color:var(--brand);font-size:18px;margin-bottom:14px}
.te-ph{display:grid;place-items:center;gap:8px;min-height:220px;border:1px dashed var(--line-2);border-radius:var(--te-r,16px);color:var(--faint);font-size:30px;background:var(--surface-2)}
.te-ph span{font-size:13px}
.te-empty{padding:28px 0!important}
.te-empty-box{border:1px dashed var(--brand-line);border-radius:var(--te-r,16px);padding:18px 20px;color:var(--muted);background:var(--brand-soft);font-size:14px;text-align:center}
.te-empty-box i{margin-inline-end:6px;color:var(--brand)}

/* 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-inline:auto}
.te-text-in.te-al-center .te-cta-row{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(--te-r,16px)}
@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 dd{margin:0;font-size:clamp(1.7rem,1.2rem + 1.4vw,2.4rem);font-weight:800;letter-spacing:-.03em;color:var(--text)}
.te-stat dt{margin-top:6px;color:var(--faint);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}

/* call to action */
.te-cta-box{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:44px 48px;border-radius:calc(var(--te-r,16px) + 6px);position:relative;overflow:hidden;flex-wrap:wrap}
.te-cta-box .te-sub{margin-top:10px}
.te-cta-acts{margin-top:0}
.te-look-accent{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 62%,#000));color:#fff}
.te-look-accent :is(.te-h2,.te-sub,.kicker){color:#fff}
.te-look-accent .kicker::before{background:#fff}
.te-look-accent .pbtn.p{background:#fff;color:#0c1222;box-shadow:none}
.te-look-accent .pbtn.s{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.te-look-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh)}
.te-look-ink{background:var(--text);color:var(--bg)}
.te-look-ink :is(.te-h2,.te-sub){color:var(--bg)}
@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(--text);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(--brand-soft);color:var(--brand);font-weight:700}
.te-quote figcaption b{font-size:.95rem}
.te-quote figcaption small{display:block;color:var(--faint);font-size:12.5px}

/* logos */
.te-logos{padding:40px 0}
.te-logos-h{text-align:center;color:var(--faint);font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;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(--te-r,16px);overflow:hidden;background:#000;box-shadow:var(--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 span{font-size:2.2rem;font-weight:800;letter-spacing:-.03em}
.te-plan-p small{color:var(--faint);margin-inline-start:6px}
.te-plan ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;color:var(--muted);font-size:.95rem}
.te-plan li i{color:var(--ok);margin-inline-end:8px}
.te-plan .pbtn{margin-top:auto}
.te-featured{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),var(--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(--faint);font-family:var(--mono);font-size:12px}
.te-svc-t i{font-size:18px}
.te-svc-c b{font-size:.95rem;font-weight:650;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.te-svc-c small{color:var(--faint);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 .tnum{font-family:var(--mono);font-size:1.1rem;font-weight:700;color:var(--text)}
.te-svc-p em{font-style:normal;color:var(--faint);font-size:12px}
.te-buy{margin-inline-start:auto;color:var(--brand);font-weight:650;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-card.te-plat b{font-size:.95rem;font-weight:650;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.te-plat small{color:var(--faint);font-family:var(--mono);font-size:12px}

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

/* ================= 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:64px 0 60px;position:relative}
.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:start;margin:0}
.te-bn-h{font-size:clamp(2.2rem,1.3rem + 3vw,3.5rem);line-height:1.05;letter-spacing:-.04em;font-weight:800;margin:18px 0 0;text-wrap:balance}
.te-bn-h em{font-style:normal;color:var(--brand)}
.te-bn-center:not(.te-bn-has-img) .lede{margin-inline:auto}
.te-bn-lead{margin-top:18px}
.te-bn-pts{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--muted);font-size:13.5px;font-weight:550}
.te-bn-pts i{color:var(--ok);margin-inline-end:6px}
.te-bn-offer{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}
.te-bn-center:not(.te-bn-has-img) :is(.te-bn-pts,.te-bn-offer,.cta){justify-content:center}
.te-code{display:inline-flex;align-items:center;gap:10px;padding:7px 7px 7px 14px;border:1px dashed var(--brand-line);border-radius:11px;background:var(--brand-soft)}
.te-code span{font-size:12.5px;color:var(--muted)}
.te-code b{font-family:var(--mono);font-size:1.05rem;letter-spacing:.06em;color:var(--text)}
.te-copy{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:8px;background:var(--brand);color:var(--brand-ink);font-weight:650;font-size:12.5px;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:11px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:13px}
.te-cd b{font-family:var(--mono);font-size:1.05rem;color:var(--text)}
.te-cd small{margin-inline-end:7px;color:var(--faint)}
.te-cd-l{margin-inline-end:6px}
.te-cd .te-cd-end{display:none;font-weight:650;color:var(--text)}
.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(--te-r,16px);box-shadow:var(--sh-lg)}
@media(max-width:980px){.te-bn-has-img .te-bn-grid{grid-template-columns:1fr;gap:32px}}
@media(max-width:640px){.te-banner{padding:40px 0 36px}.te-h2{font-size:28px}}

/* 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{font-size:34px;line-height:1.15;letter-spacing:-.03em;font-weight:800;margin:0 0 22px}
.te-art-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--te-r,16px);box-shadow:var(--sh);padding:clamp(22px,1rem + 2vw,48px)}
body.pl .te-banner + .te-article{padding-top:0}
.te-prose{color:var(--muted);font-size:1.02rem;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){color:var(--text);letter-spacing:-.02em;line-height:1.2;margin:1.8em 0 .6em;font-weight:750}
.te-prose h1{font-size:1.9rem}
.te-prose h2{font-size:1.55rem}
.te-prose h3{font-size:1.22rem}
.te-prose h4{font-size:1.05rem}
.te-prose p{margin:0 0 1.1em}
.te-prose :is(ul,ol){margin:0 0 1.1em;padding-inline-start:1.3em}
.te-prose li{margin:.3em 0}
.te-prose a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.te-prose :is(strong,b){color:var(--text)}
.te-prose img{max-width:100%;height:auto;border-radius:11px}
.te-prose blockquote{margin:1.4em 0;padding:4px 0 4px 18px;border-inline-start:3px solid var(--brand);color:var(--text)}
.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(--line);padding:9px 12px;text-align:start;vertical-align:top}
.te-prose th{background:var(--surface-2);color:var(--text)}
.te-prose code{font-family:var(--mono);font-size:.9em;background:var(--surface-2);padding:2px 6px;border-radius:5px}
.te-prose pre{overflow-x:auto;background:var(--surface-2);padding:14px;border-radius:11px}
.te-prose pre code{background:none;padding:0}
.te-prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.te-rel{margin-top:36px}
.te-rel-h{font-size:1.15rem;font-weight:750;color:var(--text);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-size:.95rem;font-weight:650}
.te-rel-i i{color:var(--brand);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(--surface);border:1px solid var(--line);border-radius:var(--te-r,16px);box-shadow:var(--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:650;color:var(--text);font-size:1rem;line-height:1.4}
.te-qa-i summary::-webkit-details-marker{display:none}
.te-qa-i summary i{color:var(--brand);transition:transform .2s;flex:none}
.te-qa-i[open] summary i{transform:rotate(45deg)}
.te-qa-a{padding:0 20px 18px;color:var(--muted);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:36px;height:36px;border-radius:11px;background:var(--brand);color:var(--brand-ink);font-weight:800}
.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}}
