:root{
--cnvs-themecolor:#47B2E4;--cnvs-themecolor-rgb:71,178,228;
--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:40px;--space-6:64px;--space-7:96px;--space-8:140px;
--band:var(--space-7);--band-compact:var(--space-6);--gutter:24px;
--fs-display:3.25rem;--fs-h1:3.25rem;--fs-h2:2.25rem;--fs-h3:1.375rem;--fs-lead:1.25rem;--fs-body:1.0625rem;--fs-small:.9375rem;--fs-label:.875rem;
--radius-s:8px;--radius-m:12px;
--c-ground:#F5F6F8;--c-ground-2:#FFFFFF;--c-ink:#2B3340;--c-muted:#5A6472;--c-accent:#47B2E4;--c-accent-text:#1F6F9E;--c-line:#DDE2EA;--c-navy:#37517E;
--ease-out:cubic-bezier(0.23,1,0.32,1);
}
body{font-family:'Albert Sans',sans-serif;font-size:var(--fs-body);line-height:1.65;color:var(--c-ink);background:var(--c-ground)}
h1,h2,h3,.tv-h1,.tv-h2,.tv-big,.tv-foot-big,.tv-pledge{font-family:'Chivo',sans-serif;text-wrap:balance;letter-spacing:-.01em}
a{color:var(--c-accent-text)}
:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}

#header.dark{--cnvs-header-sticky-bg:#37517E;--cnvs-header-bg:#37517E}
#header.tv-header #header-wrap{background:#37517E}
.tv-btn,.tv-btn.button{background:var(--c-accent);color:#10243D;font-weight:600;border-radius:50px;padding:var(--space-3) var(--space-5);transition:transform 160ms var(--ease-out),background 160ms}
.tv-btn:hover{background:#6cc3ec;color:#10243D}
.tv-btn:active{transform:scale(.97)}
.tv-btn-ghost,.tv-btn-ghost.button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7);border-radius:50px;padding:var(--space-3) var(--space-5)}
.tv-btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.tv-btn-ghost-dark,.tv-btn-ghost-dark.button{background:transparent;color:var(--c-navy);border:1px solid var(--c-navy);border-radius:50px;padding:var(--space-3) var(--space-5)}
.tv-btn-ghost-dark:hover{background:var(--c-navy);color:#fff}

.tv-hero{background:var(--c-navy);padding:var(--band) 0;overflow:hidden}
.tv-hero .row{min-height:60vh}
.tv-h1{font-size:var(--fs-h1);line-height:1.1;font-weight:600;color:#fff;margin:0 0 var(--space-4)}
.tv-lead{font-size:var(--fs-lead);line-height:1.6;color:#E4EBF5;max-width:62ch;margin:0 0 var(--space-5)}
.tv-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.tv-hero-img{width:100%;height:auto;border-radius:var(--radius-s);display:block}
.tv-caption{font-size:var(--fs-small);color:#D5DEEC;margin:var(--space-3) 0 0}
@media(min-width:1200px){.tv-hero-img{width:calc(100% + (100vw - 1296px)/2);max-width:none}}

.tv-logos{background:var(--c-ground-2);padding:var(--band-compact) 0;overflow:hidden}
.tv-big{font-size:var(--fs-h2);line-height:1.2;font-weight:600;max-width:24ch;color:var(--c-navy);margin:0 0 var(--space-5)}
.tv-logos-title{font-size:var(--fs-label);font-weight:600;color:var(--c-muted);margin:0 0 var(--space-4);padding-left:var(--space-5)}
.tv-logo-row{display:flex;gap:var(--space-5);align-items:center;padding-left:var(--space-5);width:max-content;animation:tv-drift 40s linear infinite}
.tv-logo-row:hover{animation-play-state:paused}
.tv-logo-row img{height:56px;width:auto;border-radius:var(--radius-s)}
@keyframes tv-drift{from{transform:translateX(0)}to{transform:translateX(-12%)}}
@media(max-width:991px){.tv-logo-row{width:auto;flex-wrap:wrap;animation:none;padding-left:0}.tv-logos-title{padding-left:0}.tv-logo-row img{height:48px}}

.tv-band{padding:var(--band) 0}
.tv-white{background:var(--c-ground-2)}
.tv-tint{background:var(--c-ground)}
.tv-h2{font-size:var(--fs-h2);line-height:1.2;font-weight:600;color:var(--c-navy);margin:0 0 var(--space-3)}
.tv-h3x{font-size:var(--fs-h3);font-weight:600;color:var(--c-navy);margin:var(--space-4) 0}
.tv-sub{font-size:var(--fs-lead);color:var(--c-muted);max-width:62ch;margin:0 0 var(--space-5)}
.tv-sticky{position:sticky;top:120px}
#content,#content .content-wrap,#features{overflow:visible}
.tv-rows .tv-row{border-top:1px solid var(--c-line);padding:var(--space-4) 0 var(--space-4) 0}
a.tv-row{display:block;text-decoration:none}
a.tv-row:hover h3{color:var(--c-accent-text)}
.tv-row i{font-size:2rem;color:var(--c-accent-text);display:block;margin-bottom:var(--space-2)}
.tv-row h3{font-size:var(--fs-h3);color:var(--c-navy);margin:0 0 var(--space-2)}
.tv-row p{margin:0;max-width:62ch}

.tv-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-body);min-width:560px}
.tv-table th,.tv-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--c-line);text-align:left;vertical-align:top}
.tv-table thead th{font-family:'Chivo',sans-serif;color:var(--c-navy);font-size:var(--fs-h3)}
.tv-table tbody tr{transition:background 160ms}
.tv-table tbody tr:hover{background:var(--c-ground)}
.tv-table .tv-us{background:rgba(71,178,228,.14);font-weight:600;color:var(--c-navy)}
.tv-table thead .tv-us{border-radius:var(--radius-s) var(--radius-s) 0 0}
.tv-note{font-size:var(--fs-small);color:var(--c-muted);margin:var(--space-3) 0 0}

.tv-stage{position:relative;background:var(--c-ground);border-radius:var(--radius-s);padding:var(--space-4)}
.tv-win{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-s);overflow:hidden}
.tv-win-head{padding:var(--space-3) var(--space-4);font-weight:600;color:#fff;background:var(--c-navy)}
.tv-site{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--c-line);font-weight:600;color:var(--c-navy)}
.tv-ok{color:#1E7A46;font-weight:600}
.tv-bad{color:#B3261E;font-weight:700}
.tv-site.is-open{background:#EEF6FB}
.tv-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);padding:var(--space-4)}
.tv-detail small{display:block;color:var(--c-muted);font-size:var(--fs-label)}
.tv-detail strong{font-family:'Chivo',sans-serif;font-size:var(--fs-h3)}
.tv-toast{display:flex;gap:var(--space-3);align-items:center;margin:var(--space-4) 0 0 var(--space-5);padding:var(--space-3) var(--space-4);background:var(--c-navy);color:#fff;border-radius:var(--radius-s)}
.tv-toast strong{display:block}
.tv-toast i{font-size:1.5rem;color:var(--c-accent)}
.tv-replay{margin-top:var(--space-3);background:none;border:1px solid var(--c-line);border-radius:50px;padding:var(--space-2) var(--space-4);color:var(--c-navy);min-height:44px}
.tv-inset{display:block;width:60%;height:auto;margin:calc(-1 * var(--space-5)) 0 0 auto;position:relative;border-radius:var(--radius-s);border:1px solid var(--c-line);background:#fff}
@media(max-width:575px){.tv-detail{grid-template-columns:1fr}.tv-toast{margin-left:0}.tv-inset{width:100%;margin-top:var(--space-3)}}

.tv-flip{height:360px;perspective:1000px}
.tv-flip .flip-card-front,.tv-flip .flip-card-back{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-s)}
.tv-flip .flip-card-back{background:var(--c-navy);color:#fff}
.tv-flip .flip-card-inner{padding:var(--space-4);text-align:center}
.tv-flip img{max-height:170px;width:auto;max-width:100%;height:auto;margin-bottom:var(--space-3)}
.tv-flip h3{font-size:var(--fs-h3);color:var(--c-navy);margin:0 0 var(--space-2)}
.tv-flip .flip-card-back h3{color:#fff}
.tv-flip .flip-card-front,.tv-flip .flip-card-back{backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.tv-flip .flip-card-front{z-index:1}
.tv-flip .flip-card-back{z-index:2;background:var(--c-navy)}
.tv-flip .flip-card-back .flip-card-inner{position:relative;z-index:2;background:var(--c-navy)}
.tv-flip .flip-card-back p{color:#fff}

/* scene motion */
.tv-site{transition:background 320ms var(--ease-out)}
.tv-site.is-open{box-shadow:inset 4px 0 0 var(--c-accent)}
.tv-bad{display:inline-block;transition:color 240ms var(--ease-out),transform 240ms var(--ease-out)}
.tv-site.is-open .tv-bad{animation:tv-pulse 1.4s var(--ease-out) 2}
.tv-toast{transition:transform 360ms var(--ease-out),opacity 360ms var(--ease-out)}
.tv-detail strong{transition:color 240ms var(--ease-out)}
.tv-stage[data-scene-playing] .tv-win{animation:tv-unfold 500ms var(--ease-out) both}
@keyframes tv-pulse{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes tv-unfold{from{opacity:.6;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.tv-site.is-open .tv-bad,.tv-stage[data-scene-playing] .tv-win{animation:none}}

.tv-seg{display:inline-flex;gap:var(--space-1);padding:var(--space-1);background:#fff;border:1px solid var(--c-line);border-radius:50px;margin-bottom:var(--space-5)}
.tv-seg button{border:0;background:none;padding:var(--space-2) var(--space-4);border-radius:50px;color:var(--c-navy);font-weight:600;min-height:44px}
.tv-seg button[aria-pressed="true"],.tv-seg button.is-active{background:var(--c-navy);color:#fff}
.tv-plan{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-m);padding:var(--space-5) var(--space-4);height:100%}
.tv-plan h3{font-size:var(--fs-h3);color:var(--c-navy)}
.tv-plan ul{list-style:none;padding:0;margin:0 0 var(--space-4)}
.tv-plan li{padding:var(--space-2) 0;border-top:1px solid var(--c-line)}
.tv-price{font-family:'Chivo',sans-serif;font-size:2.75rem;font-weight:600;line-height:1;margin:0 0 var(--space-4);color:var(--c-navy);font-variant-numeric:tabular-nums}
.tv-price small{font-size:var(--fs-small);font-weight:400;color:var(--c-muted);margin-left:var(--space-1)}
.tv-plan-lead{background:var(--c-navy);border-color:var(--c-navy);color:#fff}
.tv-plan-lead h3,.tv-plan-lead .tv-price{color:#fff}
.tv-plan-lead .tv-price small{color:#D5DEEC}
.tv-plan-lead li{border-color:rgba(255,255,255,.25)}
@media(min-width:768px){.tv-plan-lead{margin-top:calc(-1 * var(--space-3));padding-bottom:calc(var(--space-5) + var(--space-3))}}

/* flip cards: sized to content, text never under images */
.tv-flip .flip-card-front,.tv-flip .flip-card-back{display:flex;align-items:center;justify-content:center;overflow:hidden}
.tv-flip .flip-card-inner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:auto;padding:var(--space-4);margin:0}
.tv-flip .flip-card-inner img{position:static;flex:0 0 auto;max-height:120px;margin:0 0 var(--space-3);transform:none}
.tv-flip .flip-card-inner h3,.tv-flip .flip-card-inner p{position:relative;z-index:2;margin:0 0 var(--space-2)}
.tv-flip .flip-card-front{background:#fff;color:var(--c-ink)}
.tv-flip .flip-card-front h3{color:var(--c-navy)}
.tv-flip .flip-card-back,.tv-flip .flip-card-back h3,.tv-flip .flip-card-back p{color:#fff}
.tv-flip .flip-card-back{background:var(--c-navy)}
/* scene motion */
.tv-site{transition:background-color 400ms var(--ease-out),box-shadow 400ms var(--ease-out)}
.tv-site.is-open{box-shadow:inset 4px 0 0 var(--c-accent)}
.tv-site .tv-bad{animation:tv-pulse 1.6s ease-in-out 2}
.tv-detail strong{transition:color 300ms var(--ease-out)}
.tv-toast{animation:tv-land .6s var(--ease-out) both;transform-origin:left center}
@keyframes tv-pulse{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes tv-land{from{transform:translateY(12px) scale(.95);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.tv-site .tv-bad,.tv-toast{animation:none}}
.tv-narrow{max-width:820px}
.tv-quote{margin:0 0 var(--space-5);padding:var(--space-5);background:var(--c-ground-2);border:1px solid var(--c-line);border-radius:var(--radius-m)}
.tv-quote-text{margin:0 0 var(--space-4);font-size:var(--fs-lead);line-height:1.6;color:var(--c-ink);text-wrap:pretty}
.tv-quote-by{font-size:var(--fs-small);color:var(--c-muted)}
.tv-quote-by strong{color:var(--c-navy)}
.tv-stats{display:flex;flex-wrap:wrap;gap:var(--space-5)}
.tv-stat{display:flex;flex-direction:column}
.tv-stat-num{font-family:'Chivo',sans-serif;font-size:var(--fs-h1);font-weight:600;line-height:1.1;color:var(--c-navy);font-variant-numeric:tabular-nums}
.tv-stat-label{font-size:var(--fs-small);color:var(--c-muted)}
@media (max-width:575.98px){.tv-quote{padding:var(--space-4)}.tv-quote-text{font-size:var(--fs-body)}}
.tv-pledge{font-size:var(--fs-h2);font-weight:600;color:var(--c-navy);background:rgba(71,178,228,.14);border-radius:var(--radius-m);padding:var(--space-4);margin:0}
.toggle.faq{background:var(--c-ground);border-radius:var(--radius-s);margin:0 0 var(--space-3);padding:var(--space-3) var(--space-4);min-height:48px}
.toggle.faq .toggle-title{font-weight:600;color:var(--c-navy)}

.tv-trial{background:var(--c-navy)}
.tv-trial .tv-h2{color:#fff}
.tv-trial .tv-sub{color:#E4EBF5}
.tv-trial-img{width:100%;height:auto;border-radius:var(--radius-s)}
.tv-form{background:#fff;color:var(--c-ink);border-radius:var(--radius-m);padding:var(--space-5)}
.tv-form label{color:var(--c-navy);font-weight:600;margin-bottom:var(--space-1)}
.tv-form .form-control{height:48px;border:1px solid #B9C2CF;border-radius:var(--radius-s);background:#fff;color:var(--c-ink)}
.tv-form textarea.form-control{height:auto}
.tv-form .form-group{margin-bottom:var(--space-3)}
@media(min-width:992px){.tv-form{margin-left:calc(-1 * var(--space-5))}}

#footer{--cnvs-footer-bg:#37517E}
#footer .tv-foot-big{font-size:var(--fs-h2);font-weight:600;color:#fff;margin:0 0 var(--space-3)}
#footer .tv-foot-text{color:#E4EBF5;max-width:48ch}
#footer .footer-widgets-wrap a.tv-foot-phone{font-family:'Chivo',sans-serif;font-size:var(--fs-h3);color:#fff;font-weight:600}
.tv-foot-dir{margin:0;padding:var(--space-4) var(--space-4) var(--space-4) var(--space-6);background:rgba(255,255,255,.08);border-radius:var(--radius-s)}
.tv-foot-dir li{padding:var(--space-1) 0}
#footer .footer-widgets-wrap .tv-foot-dir a{color:#fff}
.tv-foot-img{width:100%;height:auto;border-radius:var(--radius-s)}
#footer #copyrights{background:#2B4166;color:#E4EBF5}
#footer #copyrights a{color:#fff;text-decoration:underline}

@media(max-width:991px){:root{--band:48px;--band-compact:32px}.tv-h1{font-size:2.25rem}.tv-hero .row{min-height:0}.tv-sticky{position:static}#header.tv-header #header-wrap{background:#37517E}}
.tv-trial .tv-plan{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}
@media(prefers-reduced-motion:reduce){.tv-logo-row{animation:none}.tv-btn,.tv-table tbody tr{transition:none}}

/* ── S2C product page ── */
.tv-pagehead{background:var(--c-navy);color:#fff;padding:var(--band-compact) 0}
.tv-crumb{margin:0 0 var(--space-3);font-size:var(--fs-small);color:#fff}
.tv-crumb a{color:#fff;text-decoration:underline}
.tv-pagetitle{margin:0;color:#fff;font-family:Chivo,sans-serif;font-weight:700;font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.15;text-wrap:balance}
.tv-prodcard{background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-m);padding:var(--space-5)}
.tv-prodsub{margin:0 0 var(--space-3);color:var(--c-ink);font-size:var(--fs-body);max-width:60ch}
.tv-spec{margin:0 0 var(--space-2);color:var(--c-ink);font-size:var(--fs-body);font-variant-numeric:tabular-nums}
.tv-spec strong{display:inline-block;min-width:7.5rem}
.tv-pagehead + #content .content-wrap{padding:0}
.tv-bullets{margin:0;padding-left:var(--space-4);color:var(--c-ink)}
.tv-bullets li{margin-bottom:var(--space-2)}
@media(max-width:575px){.tv-prodcard{padding:var(--space-4)}}
.tv-s2c-intro{margin-bottom:var(--space-5)}
.tv-figure{margin:0}
.tv-figure img{width:100%;height:auto;max-height:420px;object-fit:contain;background:#fff;border:1px solid var(--c-line);border-radius:var(--radius-m);padding:var(--space-3)}
/* header stays one row from 992px */
@media(min-width:992px){#header .header-row{flex-wrap:nowrap}}
@media(min-width:992px) and (max-width:1199.98px){#header .header-misc{display:none}#header .primary-menu .menu-link{padding-left:10px;padding-right:10px}}

/* ── header login ── */
.tv-header .tv-login,.tv-header .tv-login.button{padding:var(--space-2) var(--space-4);min-height:40px;line-height:1.6}

/* review 2026-11-05: flip-card fronts, captions on light grounds, the hero product kept whole, logo strip across the band */
.tv-flip .flip-card-front p{color:var(--c-muted)}
.tv-caption{color:var(--c-muted)}
.dark .tv-caption{color:#D5DEEC}
@media(min-width:1200px){.tv-hero-img{width:100%;max-width:100%}}
@media(min-width:992px){.tv-logo-row{width:100%;justify-content:space-between;animation:none;padding-left:0}.tv-logos-title{padding-left:0}}

#header .primary-menu .menu-item.current > .menu-link,#header .primary-menu .menu-item.current > .menu-link > div{color:#8bcfef}

/* ── CanvasBuilder QA: logo ── */
@media (min-width: 992px) { #header #logo { flex-shrink: 0; } #header #logo img { width: auto; max-width: none; } }
/* ── end QA logo ── */

/* ---- inline overrides ---- */
:where(img[width][height]){height:auto}

:is(.content-wrap,.section):has([data-cx]){overflow-x:clip;overflow-y:visible}