/* Final company-name size override */
.marquee-track span,
.marquee-track .mq-caps {
  min-width: 200px !important;
  font-size: clamp(11px, 1.1vw, 14px) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
}


/* ==========================================================================
   TROVI AI — styles.css  (light "paper" theme, Bland-inspired)
   Warm white base · near-black ink · deep-teal accent · vibrant gradient orbs
   ========================================================================== */
:root{
  --paper:#FAF9F6; --paper-2:#F3F1EA; --paper-3:#EFEDE4;
  --ink:#0A0908; --ink-2:#3E3D38; --muted:#7C7A72;
  --line:#E7E4DB; --line-2:#DAD6CB;
  --accent:#DA5B37; --accent-2:#BE4A2A; --accent-soft:#FBEBE3;
  --black:#161512; --black-2:#2A2823;
  /* dark bands (stats, testimonials) */
  --dk:#0C0C0E; --dk-2:#131315; --dk-card:#161616; --dk-line:#262628; --dk-ink:#F5F5F4; --dk-mut:#9C9C98;
  /* vibrant orb / dome hues */
  --v-teal:#2DD4BF; --v-purple:#B061F2; --v-orange:#FB8B3C; --v-green:#8CE06A;
  --v-magenta:#F25C93; --v-silver:#E8ECF3; --v-blue:#5B8DEF;
  --max:1200px; --nav-h:66px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:'Figtree',system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.55;text-rendering:optimizeLegibility;overflow-x:hidden}
::selection{background:var(--accent);color:#fff}
a{color:inherit;text-decoration:none}
img,video{max-width:100%;display:block}
button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:0;cursor:pointer}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(20px,4vw,40px)}
h1,h2,h3,h4{font-weight:700;letter-spacing:-0.025em;line-height:1.05}
.h-xl{font-size:clamp(48px,7vw,92px);letter-spacing:-0.035em}
.h-lg{font-size:clamp(34px,5vw,60px)}
.h-md{font-size:clamp(24px,3vw,38px)}
.sub{color:var(--ink-2);font-size:clamp(17px,1.5vw,20px);line-height:1.5;font-weight:400}
.muted{color:var(--muted)}
.center{text-align:center}
.accent{color:var(--accent)}
section{position:relative;padding:clamp(64px,8vw,116px) 0}
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;font-weight:600;font-size:16px;padding:14px 24px;transition:transform .15s,background .15s,border-color .15s,color .15s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn--dark{background:var(--black);color:#fff}
.btn--dark:hover{background:var(--black-2)}
.btn--accent{background:var(--accent);color:#fff}
.btn--accent:hover{background:var(--accent-2)}
.btn--line{border:1.5px solid var(--line-2);color:var(--ink)}
.btn--line:hover{border-color:var(--ink);background:#fff}
.btn--ghost{color:var(--ink);border:1.5px solid transparent}
.btn--ghost:hover{background:var(--paper-3)}
.btn--sm{padding:10px 18px;font-size:15px;border-radius:10px}
.btn--pill{border-radius:999px}

/* ---------- nav ---------- */
.nav-wrap{position:sticky;top:0;z-index:120;background:rgba(250,249,246,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{max-width:var(--max);margin:0 auto;height:var(--nav-h);display:flex;align-items:center;gap:4px;padding:0 clamp(20px,4vw,40px)}
.logo{display:flex;align-items:center;gap:10px;margin-right:0;flex:none}
.logo-mark{width:24px;height:24px;flex:none;color:var(--accent)}
.logo-word{text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:17px;color:var(--ink)}
.logo-word b{color:var(--accent);margin-left:2px}
.nav-menu{display:flex;align-items:center;list-style:none;gap:clamp(4px,0.7vw,12px);margin:0 auto}
.nav-link{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:9px;font-size:15.5px;font-weight:600;color:var(--ink);transition:.15s}
.nav-menu .nav-link{font-size:14px;letter-spacing:.005em}
.nav-link:hover{background:var(--paper-3);color:var(--ink)}
.nav-link .caret{width:11px;height:11px;transition:transform .18s;opacity:.7}
.has-dd{position:relative}
.has-dd.open>.nav-link,.has-dd:hover>.nav-link{background:var(--paper-3);color:var(--ink)}
.has-dd.open .caret,.has-dd:hover .caret{transform:rotate(180deg)}
.dd{position:absolute;top:calc(100% + 12px);left:0;min-width:248px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;box-shadow:0 20px 50px rgba(20,18,14,.12)}
.dd::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}
.has-dd:hover .dd,.has-dd:focus-within .dd,.has-dd.open .dd{opacity:1;visibility:visible;transform:none}
.dd a{display:block;padding:10px 14px;border-radius:9px;font-size:15.5px;color:var(--ink-2);white-space:nowrap}
.dd a:hover{background:var(--paper-2);color:var(--ink)}
.dd h5{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:8px 14px 6px}
.dd-2col{display:grid;grid-template-columns:1fr 1fr;gap:4px;min-width:500px;padding:14px 10px}
.nav-actions{display:flex;align-items:center;gap:8px}
.nav-actions .login{padding:9px 12px;color:var(--ink)}
.burger{display:none;width:44px;height:44px;border-radius:10px;margin-left:auto;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:.2s}
.burger.on span:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger.on span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.m-nav{display:none;position:fixed;z-index:110;inset:calc(var(--nav-h) + 8px) 12px auto;max-height:calc(100vh - 90px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 24px 60px rgba(20,18,14,.16)}
.m-nav.open{display:block}
.m-nav h5{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:16px 0 4px}
.m-nav h5:first-child{margin-top:0}
.m-nav a{display:block;padding:9px 4px;font-size:16.5px;color:var(--ink);border-bottom:1px solid var(--line)}
.m-nav .m-ctas{display:grid;gap:10px;margin-top:18px}
@media(max-width:1040px){.nav-menu,.nav-actions{display:none}.burger{display:flex}}

/* ---------- hero ---------- */
.hero{padding:clamp(48px,6vw,86px) 0 clamp(56px,7vw,92px)}
.hero-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(20px,3vw,44px);align-items:center}
.hero h1{font-size:clamp(38px,4.8vw,62px);letter-spacing:-.03em;font-weight:800}
.hero h1 .acc{color:var(--accent);display:inline-block}
.tw-line{position:relative;display:inline-block;min-height:1.05em;vertical-align:top}
.tw-sizer{visibility:hidden;white-space:nowrap;padding-right:.9em}
.tw-run{position:absolute;left:0;top:0;white-space:nowrap}
#tw{color:var(--accent)}
.tw-ball{display:inline-block;width:.58em;height:.58em;border-radius:50%;background:var(--accent);margin-left:.2em;vertical-align:middle;box-shadow:0 3px 14px rgba(218,91,55,.35)}
.hero .sub{margin:24px 0 0;max-width:30ch}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero-count{margin-top:34px;display:flex;align-items:baseline;gap:12px}
.hero-count b{font-size:clamp(26px,3vw,36px);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}
.hero-count span{color:var(--muted);font-size:15px}
.hero-count .dot{width:8px;height:8px;border-radius:50%;background:var(--v-green);box-shadow:0 0 0 4px rgba(140,224,106,.25);align-self:center}

/* demo fan (right side) */
.demo{position:relative}
.demo-fan{position:relative;height:clamp(330px,42vw,430px);perspective:1600px}
.demo-card{position:absolute;top:50%;left:50%;width:clamp(240px,26vw,300px);aspect-ratio:5/6;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 26px 60px rgba(20,18,14,.14);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;transition:transform .55s cubic-bezier(.34,1.25,.5,1),opacity .45s,box-shadow .3s;transform-origin:center;cursor:pointer}
.demo-card .orb{position:relative;width:56%;aspect-ratio:1;border-radius:50%;overflow:hidden;margin-bottom:26px;background:radial-gradient(140% 26% at 50% 50%,rgba(255,255,255,.97) 0%,rgba(255,255,255,.42) 30%,transparent 56%),radial-gradient(58% 42% at 40% 26%,rgba(255,255,255,.5),transparent 55%),radial-gradient(circle at 50% 40%,var(--c-light) 0%,var(--c-main) 54%,var(--c-deep) 100%);box-shadow:inset 0 -14px 26px rgba(0,0,0,.16),inset 0 12px 20px rgba(255,255,255,.28),0 0 0 6px var(--c-rim),0 14px 40px var(--c-glow),0 0 44px var(--c-glow)}
.orb-health{--c-light:#7BF0B4;--c-main:#1FD17A;--c-deep:#0C9E56;--c-rim:rgba(31,209,122,.2);--c-glow:rgba(31,209,122,.42)}
.orb-account{--c-light:#C9A0FF;--c-main:#8A3FF0;--c-deep:#5E1FB8;--c-rim:rgba(138,63,240,.2);--c-glow:rgba(138,63,240,.42)}
.orb-resto{--c-light:#FFC873;--c-main:#FF8A00;--c-deep:#D96E00;--c-rim:rgba(255,138,0,.2);--c-glow:rgba(255,138,0,.42)}
.orb-salon{--c-light:#FF9CC6;--c-main:#FF3D8B;--c-deep:#D6156A;--c-rim:rgba(255,61,139,.2);--c-glow:rgba(255,61,139,.42)}
.demo-card .play-orb{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.22);transition:transform .15s}
.demo-card:hover .play-orb{transform:translate(-50%,-50%) scale(1.08)}
.demo-card .play-orb svg{width:16px;height:16px;fill:var(--ink);margin-left:2px}
.demo-card .play-orb .ic-pause{display:none}
.demo-card.playing .play-orb .ic-play{display:none}
.demo-card.playing .play-orb .ic-pause{display:block}
.demo-card .brand{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:700}
.demo-card .who{font-size:20px;font-weight:700;letter-spacing:-.01em;margin-top:4px}
.demo-card .p-note{position:absolute;bottom:14px;left:16px;right:16px;font-size:11.5px;color:var(--muted);text-align:center;opacity:0;transition:opacity .25s}
.demo-card .p-note.show{opacity:1}
.demo-card.pos-front{transform:translate(-50%,-50%) rotateY(0deg) scale(1);opacity:1;z-index:3}
.demo-card.pos-right{transform:translate(8%,-50%) rotateY(-42deg) scale(.9);opacity:.97;z-index:2}
.demo-card.pos-left{transform:translate(-108%,-50%) rotateY(42deg) scale(.9);opacity:.97;z-index:1}
.demo-card.pos-hide{transform:translate(-50%,-50%) scale(.7);opacity:0;z-index:0;pointer-events:none}
.demo-arrows{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:8px}
.demo-arrows .arrow{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;transition:.15s}
.demo-arrows .arrow:hover{background:#fff;border-color:var(--ink)}
.demo-arrows .arrow svg{width:15px;height:15px}
.demo-speak{display:block;margin:16px auto 0;text-align:center;font-size:15.5px;font-weight:600;color:var(--accent)}
.demo-speak b{font-variant-numeric:tabular-nums}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .hero .sub{max-width:none}
  .demo-fan{height:400px}
}

/* ---------- logo marquee ---------- */
.marquee-sec{padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.marquee-head{text-align:center;color:var(--ink-2);font-size:clamp(17px,2vw,22px);font-weight:500;margin-bottom:38px}
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;width:max-content;gap:clamp(48px,7vw,96px);animation:marq 26s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{display:flex;align-items:center;justify-content:center;min-width:240px;white-space:nowrap;font-weight:700;font-size:clamp(20px,2.4vw,28px);color:#B7B3A8;letter-spacing:-.01em;flex:none;font-family:Inter,system-ui,sans-serif;line-height:1}
.mq-serif{font-family:inherit}
.mq-caps{text-transform:uppercase;letter-spacing:0;font-size:clamp(20px,2.4vw,28px)!important}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- video band ---------- */
.videoblock{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:21/9;background:#0C0C0E;cursor:pointer}
.videoblock .vposter{position:absolute;inset:0;background:radial-gradient(120% 130% at 70% 10%,rgba(45,212,191,.28),transparent 55%),radial-gradient(120% 130% at 20% 100%,rgba(176,97,242,.26),transparent 55%),linear-gradient(160deg,#1A1A1D,#0A0A0C)}
.videoblock .vhead{position:absolute;top:0;left:0;right:0;padding:clamp(24px,4vw,48px);z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}
.videoblock .vhead h2{color:#fff;font-size:clamp(24px,3.6vw,46px)}
.videoblock .vplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.94);display:grid;place-items:center;z-index:2;transition:transform .15s}
.videoblock:hover .vplay{transform:translate(-50%,-50%) scale(1.07)}
.videoblock .vplay svg{width:24px;height:24px;fill:var(--ink);margin-left:3px}
.videoblock .v-note{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:2;font-size:13px;color:#fff;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.2);padding:7px 14px;border-radius:999px;opacity:0;transition:.25s;white-space:nowrap}
.videoblock .v-note.show{opacity:1}

/* ---------- stats (dark band) ---------- */
.band-dark{background:var(--dk);color:var(--dk-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.band-dark .sub{color:var(--dk-mut)}
.stats-head{max-width:820px;margin:0 auto 60px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat-card{position:relative;overflow:hidden;background:var(--dk-card);border:1px solid var(--dk-line);border-radius:22px;padding:26px 26px 32px;min-height:420px;display:flex;flex-direction:column}
.stat-card .label{position:relative;z-index:2;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#CFCFCB}
.arc{position:absolute;left:50%;top:92px;transform:translateX(-50%);width:184%;aspect-ratio:1;border-radius:50%;z-index:0;background:radial-gradient(closest-side,var(--dk-card) 74%,var(--arc) 95%,transparent 100%);filter:drop-shadow(0 -16px 46px var(--arc-glow))}
.arc::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(closest-side,transparent 80%,var(--arc-glow) 95%,transparent 100%)}
.stat-bottom{position:relative;z-index:2;margin-top:auto}
.stat-num{font-size:clamp(50px,4.4vw,72px);font-weight:700;letter-spacing:-.03em;line-height:1;margin-bottom:14px;font-variant-numeric:tabular-nums}
.stat-desc{color:#D7D7D3;font-size:16px;line-height:1.45;max-width:22ch}
.arc-teal{--arc:#2DD4BF;--arc-glow:rgba(45,212,191,.6)}
.arc-purple{--arc:#B061F2;--arc-glow:rgba(176,97,242,.55)}
.arc-orange{--arc:#FB8B3C;--arc-glow:rgba(251,139,60,.55)}
.arc-silver{--arc:#E8ECF3;--arc-glow:rgba(232,236,243,.5)}
@media(max-width:1040px){.stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.stat-grid{grid-template-columns:1fr}.stat-card{min-height:360px}}

/* ---------- featured customer story ---------- */
.story-head{margin-bottom:44px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end}
.story-head h2{font-size:clamp(30px,4vw,52px)}
.story-head p{color:var(--ink-2);font-size:17px;max-width:40ch;justify-self:end}
.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;background:#fff;border:1px solid var(--line);border-radius:26px;padding:clamp(18px,2vw,22px);box-shadow:0 20px 60px rgba(20,18,14,.06)}
.story-media{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/5;background:linear-gradient(160deg,#2A2320,#0E0C0B)}
.story-media .ph{position:absolute;inset:0;background:radial-gradient(120% 100% at 30% 20%,rgba(251,139,60,.35),transparent 55%),radial-gradient(120% 100% at 80% 90%,rgba(176,97,242,.3),transparent 55%)}
.story-media .who{position:absolute;left:24px;bottom:22px;z-index:2;color:#fff}
.story-media .who b{display:block;font-size:clamp(30px,4vw,44px);font-weight:700;letter-spacing:-.02em;line-height:1}
.story-media .who small{font-size:14px;opacity:.85}
.story-media .watch{position:absolute;right:20px;bottom:20px;z-index:2;display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.92);color:var(--ink);font-weight:600;font-size:14px;padding:9px 15px;border-radius:10px}
.story-media .watch svg{width:12px;height:12px;fill:var(--ink)}
.story-media .v-note{position:absolute;left:20px;top:18px;z-index:2;font-size:12px;color:#fff;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.2);padding:6px 11px;border-radius:999px;opacity:0;transition:.25s}
.story-media .v-note.show{opacity:1}
.story-body .eyebrow{color:var(--muted)}
.story-body h3{font-size:clamp(30px,3.6vw,48px);letter-spacing:-.03em;line-height:1.04;margin-bottom:20px}
.story-body h3 .accent{color:var(--accent)}
.story-body p{color:var(--ink-2);font-size:17px;line-height:1.6;margin-bottom:24px}
.story-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);border-bottom:2px solid var(--ink);padding-bottom:3px}
.story-link:hover{color:var(--accent);border-color:var(--accent)}
@media(max-width:860px){.story,.story-head{grid-template-columns:1fr}.story-head p{justify-self:start}}

/* ---------- testimonials (dark carousel) ---------- */
.tcar-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px}
.tcar-arrows{display:flex;gap:10px}
.tcar .arrow{width:46px;height:46px;border-radius:50%;border:1px solid var(--dk-line);display:grid;place-items:center;color:#fff;transition:.15s}
.tcar .arrow:hover{background:rgba(255,255,255,.08)}
.tcar-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.tcar-track::-webkit-scrollbar{display:none}
.tcard{flex:0 0 100%;scroll-snap-align:center;background:var(--dk-2);border:1px solid var(--dk-line);border-radius:24px;padding:clamp(30px,4vw,52px);display:grid;grid-template-columns:1.6fr .7fr;gap:clamp(28px,4vw,56px);align-items:center}
.tcard .logo-txt{font-size:19px;font-weight:700;color:#fff;letter-spacing:-.01em;margin-bottom:26px;opacity:.92}
.tcard blockquote{font-size:clamp(19px,2.1vw,27px);line-height:1.4;font-weight:600;letter-spacing:-.015em;color:#fff}
.tcard .cite{margin-top:26px;color:var(--dk-mut);font-size:15.5px}
.tcard .face{aspect-ratio:1;border-radius:18px;background:linear-gradient(160deg,#2A2A2D,#151517);position:relative;overflow:hidden}
.tcard .face .ph{position:absolute;inset:0;background:radial-gradient(120% 120% at 30% 25%,rgba(45,212,191,.25),transparent 55%),radial-gradient(120% 120% at 80% 90%,rgba(176,97,242,.22),transparent 55%)}
.tcard .face span{position:absolute;left:0;right:0;bottom:14px;text-align:center;font-size:12px;color:var(--dk-mut)}
.tcar-dots{display:flex;justify-content:center;gap:9px;margin-top:30px}
.tcar-dots button{width:8px;height:8px;border-radius:50%;background:#3A3A3C;transition:.2s}
.tcar-dots button.on{background:#fff}
@media(max-width:720px){.tcard{grid-template-columns:1fr}.tcard .face{max-width:180px}}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:920px;margin:0 auto}
.faq-head{margin-bottom:44px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;padding:26px 4px;font-size:clamp(18px,2vw,23px);font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.faq-q .ico{flex:none;width:22px;height:22px;position:relative;transition:transform .25s}
.faq-q .ico::before,.faq-q .ico::after{content:"";position:absolute;background:var(--ink);border-radius:2px;top:50%;left:50%}
.faq-q .ico::before{width:16px;height:2px;transform:translate(-50%,-50%)}
.faq-q .ico::after{width:2px;height:16px;transform:translate(-50%,-50%);transition:transform .25s}
.faq-item.open .faq-q .ico::after{transform:translate(-50%,-50%) scaleY(0)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a p{padding:0 4px 26px;color:var(--ink-2);font-size:16.5px;line-height:1.6;max-width:70ch}

/* ---------- CTA ---------- */
.cta-band{position:relative;overflow:hidden;background:var(--black);color:#fff;border-radius:28px;padding:clamp(52px,7vw,88px) clamp(24px,6vw,72px);text-align:center}
.cta-band .glow{position:absolute;width:760px;aspect-ratio:1;left:50%;bottom:-560px;transform:translateX(-50%);background:radial-gradient(circle at 50% 6%,rgba(45,212,191,.5),rgba(14,151,168,.28) 22%,transparent 62%);z-index:0}
.cta-band>*{position:relative;z-index:1}
.cta-band h2{font-size:clamp(36px,5.5vw,68px);margin-bottom:18px}
.cta-band .sub{color:rgba(255,255,255,.72);max-width:540px;margin:0 auto 32px}
.cta-btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.cta-band .btn--line{border-color:rgba(255,255,255,.28);color:#fff}
.cta-band .btn--line:hover{border-color:#fff;background:rgba(255,255,255,.06)}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding:64px 0 40px;margin-top:20px}
.f-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:40px}
.f-brand p{color:var(--muted);font-size:15px;max-width:26ch;margin-top:16px}
.f-live{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:12px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.f-live i{width:7px;height:7px;border-radius:50%;background:var(--v-green);box-shadow:0 0 0 3px rgba(140,224,106,.25)}
.f-grid h5{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:16px}
.f-grid a{display:block;padding:5px 0;font-size:15px;color:var(--ink-2)}
.f-grid a:hover{color:var(--accent)}
.f-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:13.5px}
@media(max-width:900px){.f-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.f-grid{grid-template-columns:1fr}}

/* ---------- placeholder pages (light) ---------- */
.page-hero{position:relative;overflow:hidden;padding:clamp(56px,7vw,96px) 0 clamp(40px,5vw,64px);background:radial-gradient(120% 120% at 90% -10%,var(--accent-soft),transparent 55%)}
.page-hero h1{font-size:clamp(40px,5.5vw,76px);margin:12px 0 18px;letter-spacing:-.035em}
.page-hero .sub{max-width:600px}
.wip{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;max-width:620px;margin-top:44px;box-shadow:0 16px 44px rgba(20,18,14,.05)}
.wip b{display:block;font-size:18px;margin-bottom:8px}
.wip p{color:var(--ink-2);font-size:15.5px}
.wip .btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}

/* ---------- video modal (shared) ---------- */
.v-modal{position:fixed;inset:0;z-index:200;background:rgba(12,11,9,.9);display:none;align-items:center;justify-content:center;padding:24px}
.v-modal.open{display:flex}
.v-modal video{width:min(1000px,94vw);border-radius:16px;background:#000}
.v-close{position:absolute;top:22px;right:26px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:20px;background:rgba(0,0,0,.4)}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.rv.vis{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;transition-duration:.001s!important}
  html{scroll-behavior:auto}.rv{opacity:1;transform:none}.marquee-track{animation:none}
}


/* =========================================================
   FINAL HOMEPAGE HERO — SIX REAL ANIMATED PLANETS
   ========================================================= */
.trovi-home-hero{
  background:#fff;
  min-height:calc(100vh - 76px);

  /* Overrides the global section padding that created the empty strip */
  padding:0;
}

.trovi-home-shell{
  width:min(1460px,calc(100% - 72px));
  min-height:calc(100vh - 76px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(470px,.88fr) minmax(650px,1.12fr);
  align-items:start;
  gap:64px;
  padding:22px 0 66px;
}

.trovi-home-copy{
  padding-top:0;
}

.trovi-home-copy h1{
  margin:0;
  color:#000;
  font-size:clamp(76px,6.2vw,100px);
  line-height:.96;
  letter-spacing:-.064em;
  font-weight:800;
}

.trovi-home-copy h1 span{color:#f04412}

.trovi-home-copy p{
  margin:42px 0 42px;
  color:#5f5f5f;
  font-size:22px;
  line-height:1.55;
  letter-spacing:-.025em;
}

.trovi-home-book{
  height:58px;
  padding:0 38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  background:#050505;
  color:#fff;
  text-decoration:none;
  font-size:17px;
  font-weight:650;
}

.trovi-home-count{
  margin-top:86px;
  display:grid;
  grid-template-columns:27px auto minmax(190px,1fr);
  align-items:center;
  gap:14px;
  max-width:540px;
}

.trovi-live-dot{
  width:27px;
  height:27px;
  border-radius:5px;
  background:#e5ffdc;
  display:grid;
  place-items:center;
}

.trovi-live-dot i{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#42db17;
}

.trovi-home-count strong{
  font-size:47px;
  line-height:1;
  letter-spacing:-.045em;
  font-weight:750;
  white-space:nowrap;
}

.trovi-home-count>span:last-child{
  color:#686868;
  font-size:16px;
  line-height:1.45;
}

.trovi-demo-panel{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding-top:0;
}

.trovi-demo-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:38px;
  row-gap:54px;
  justify-items:center;
  align-items:start;
}

.trovi-demo-item{
  width:100%;
  min-width:0;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  color:#050505;
  text-align:center;
  transition:transform .18s ease;
}

.trovi-demo-item:hover{transform:translateY(-3px)}

.trovi-planet{
  position:relative;
  width:174px;
  height:174px;
  flex:0 0 174px;
  display:block;
  overflow:hidden;
  border-radius:50%;
  isolation:isolate;
}

.trovi-planet-base,
.trovi-planet-flow{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  border-radius:50%;
}

.trovi-planet-base{
  z-index:1;
  transform:scale(1.075);
  filter:saturate(1.09) contrast(1.045);
}

.trovi-planet-flow{
  z-index:2;
  transform:scale(1.075);
  mix-blend-mode:screen;
  opacity:.82;
  pointer-events:none;
}

.trovi-demo-item::after{
  content:"";
  position:absolute;
}

.trovi-demo-label{
  margin-top:14px;
  width:100%;
  text-align:center;
  white-space:nowrap;
  font-size:18px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:-.025em;
}

.trovi-demo-controls{
  display:flex;
  gap:16px;
  margin-top:48px;
}

.trovi-round-control{
  width:54px;
  height:54px;
  border:1px solid #dcdcdc;
  border-radius:50%;
  background:#fff;
  display:grid;
  place-items:center;
  color:#111;
  font-size:37px;
  line-height:1;
  padding:0 0 5px;
}

.trovi-speak-link{
  margin-top:25px;
  border:0;
  background:transparent;
  color:#f04412;
  font-size:17px;
  font-weight:650;
  cursor:pointer;
}

.trovi-speak-link span{
  margin-right:9px;
  font-size:14px;
}

.trovi-demo-status{
  min-height:18px;
  margin:8px 0 0;
  color:#777;
  font-size:13px;
}

@media(max-width:1280px){
  .trovi-home-shell{
    width:min(1180px,calc(100% - 48px));
    grid-template-columns:minmax(390px,.86fr) minmax(570px,1.14fr);
    align-items:start;
    gap:36px;
    padding-top:20px;
  }

  .trovi-home-copy h1{font-size:78px}

  .trovi-demo-grid{
    column-gap:24px;
    row-gap:46px;
  }

  .trovi-planet{
    width:154px;
    height:154px;
    flex-basis:154px;
  }
}

@media(max-width:1010px){
  .trovi-home-shell{
    grid-template-columns:1fr;
    align-items:start;
    padding:48px 0 70px;
  }

  .trovi-home-copy{max-width:700px}

  .trovi-demo-panel{
    max-width:760px;
    margin:56px auto 0;
  }

  .trovi-home-count{margin-top:58px}
}

@media(max-width:680px){
  .trovi-home-shell{
    width:calc(100% - 36px);
    min-height:auto;
    padding:52px 0 62px;
  }

  .trovi-home-copy h1{font-size:58px}

  .trovi-home-copy p{
    font-size:18px;
    line-height:1.5;
  }

  .trovi-home-copy p br{display:none}

  .trovi-demo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:36px 16px;
  }

  .trovi-planet{
    width:132px;
    height:132px;
    flex-basis:132px;
  }

  .trovi-demo-label{font-size:16px}

  .trovi-home-count{
    grid-template-columns:24px auto;
  }

  .trovi-home-count>span:last-child{
    grid-column:2;
    margin-top:7px;
  }

  .trovi-home-count strong{font-size:39px}
}

@media(prefers-reduced-motion:reduce){
  .trovi-planet-flow{display:none}
}


/* =========================================================
   EXACT APPROVED FRAME — FINAL HOMEPAGE OVERRIDES
   ========================================================= */

.nav-wrap{
  background:#fff;
  border-bottom:1px solid #ece9e2;
}

.nav{
  max-width:1536px;
  height:92px;
  padding:0 64px;
}

.logo-word{
  font-size:22px;
  letter-spacing:.09em;
}

.logo-mark{
  width:28px;
  height:28px;
}

.nav-menu{
  gap:22px;
}

.nav-menu .nav-link{
  font-size:16px;
  font-weight:500;
}

.nav-actions{
  gap:16px;
}

.nav-actions .btn{
  height:58px;
  padding:0 28px;
  border-radius:11px;
  font-size:17px;
}

.nav-actions .btn--accent{
  background:#f04412;
}

.cta-arrow{
  display:inline-block;
  margin-left:8px;
  font-size:20px;
  line-height:1;
}

/* Remove inherited section spacing completely */
.trovi-home-hero{
  padding:0;
  background:#fff;
  min-height:calc(100vh - 92px);
}

.trovi-home-shell{
  width:min(1536px,calc(100% - 96px));
  min-height:calc(100vh - 92px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(520px,.9fr) minmax(720px,1.1fr);
  align-items:center;
  gap:68px;
  padding:66px 0 48px;
}

.trovi-home-copy{
  padding:0;
  align-self:center;
}

.trovi-home-copy h1{
  margin:0;
  color:#000;
  font-size:clamp(78px,6.5vw,108px);
  line-height:.92;
  letter-spacing:-.066em;
  font-weight:800;
}

.trovi-home-copy h1 span{
  color:#f04412;
}

.trovi-home-copy p{
  margin:44px 0 43px;
  color:#585858;
  font-size:22px;
  line-height:1.58;
  letter-spacing:-.025em;
}

.trovi-home-book{
  height:70px;
  min-width:220px;
  padding:0 30px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  background:#050505;
  color:#fff;
  font-size:18px;
  font-weight:650;
}

.trovi-home-book span{
  font-size:24px;
  line-height:1;
}

.trovi-home-count{
  margin-top:91px;
  max-width:555px;
  grid-template-columns:39px auto minmax(210px,1fr);
  gap:16px;
}

.trovi-live-dot{
  width:39px;
  height:39px;
  border-radius:8px;
}

.trovi-live-dot i{
  width:13px;
  height:13px;
}

.trovi-home-count strong{
  font-size:54px;
}

.trovi-home-count>span:last-child{
  font-size:17px;
  line-height:1.4;
}

.trovi-demo-panel{
  width:100%;
  max-width:760px;
  justify-self:end;
  padding:0;
}

.trovi-demo-grid{
  width:100%;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:52px;
  row-gap:56px;
}

.trovi-demo-item{
  overflow:visible;
}

.trovi-planet{
  width:205px;
  height:205px;
  flex:0 0 205px;
  overflow:hidden;
  border-radius:50%;
  background:#fff;
}

.trovi-planet-base{
  inset:0;
  width:100%;
  height:100%;
  transform:none;
  object-fit:cover;
  border-radius:50%;
  filter:none;
}

/* The approved reference planets are complete images; hide old overlays */
.trovi-planet-flow{
  display:none !important;
}

.trovi-demo-label{
  margin-top:12px;
  font-size:18px;
  font-weight:700;
}

.trovi-demo-controls{
  margin-top:43px;
  gap:18px;
}

.trovi-round-control{
  width:61px;
  height:61px;
  font-size:39px;
  border-color:#ddd;
}

.trovi-speak-link{
  margin-top:25px;
  color:#f04412;
  font-size:18px;
  font-weight:650;
}

@media(max-width:1360px){
  .nav{
    padding:0 38px;
  }

  .trovi-home-shell{
    width:min(1250px,calc(100% - 56px));
    grid-template-columns:minmax(430px,.88fr) minmax(620px,1.12fr);
    gap:42px;
    padding-top:48px;
  }

  .trovi-home-copy h1{
    font-size:82px;
  }

  .trovi-demo-grid{
    column-gap:28px;
  }

  .trovi-planet{
    width:178px;
    height:178px;
    flex-basis:178px;
  }
}

@media(max-width:1040px){
  .trovi-home-shell{
    grid-template-columns:1fr;
    align-items:start;
    padding:55px 0 70px;
  }

  .trovi-demo-panel{
    justify-self:center;
    max-width:800px;
    margin-top:58px;
  }
}

@media(max-width:680px){
  .trovi-home-shell{
    width:calc(100% - 34px);
    padding-top:45px;
  }

  .trovi-home-copy h1{
    font-size:58px;
  }

  .trovi-home-book{
    min-width:190px;
    height:58px;
  }

  .trovi-demo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:35px 18px;
  }

  .trovi-planet{
    width:145px;
    height:145px;
    flex-basis:145px;
  }

  .trovi-home-count{
    grid-template-columns:30px auto;
  }
}


/* =========================================================
   COMPLETE PLANET RINGS — NO EDGE CROPPING
   ========================================================= */
.trovi-planet{
  overflow:visible !important;
  border-radius:0 !important;
  background:transparent !important;
}

.trovi-planet-base{
  inset:-18% !important;
  width:136% !important;
  height:136% !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
  border-radius:0 !important;
  filter:none !important;
}

.trovi-planet-flow{
  display:none !important;
}


/* =========================================================
   APPROVED TROVI HERO — MATCHES APPROVED REFERENCE
   ========================================================= */

.trovi-home-hero{
  padding:0 !important;
  min-height:calc(100vh - 92px);
  background:#fff;
}

.trovi-home-shell{
  width:min(1480px,calc(100% - 96px));
  min-height:calc(100vh - 92px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(520px,.84fr) minmax(700px,1.16fr);
  align-items:start;
  gap:76px;
  padding:64px 0 48px;
}

/* Left column sits beside the first planet row, as in the reference */
.trovi-home-copy{
  align-self:start !important;
  margin-top:58px !important;
  padding:0 !important;
}

.trovi-home-copy h1{
  margin:0;
  font-size:clamp(78px,6.3vw,104px);
  line-height:.94;
  letter-spacing:-.064em;
  font-weight:800;
}

.trovi-home-copy h1 span{
  color:#f04412;
}

.trovi-home-copy p{
  margin:48px 0 42px;
  max-width:510px;
  color:#575757;
  font-size:21px;
  line-height:1.62;
  letter-spacing:-.022em;
}

.trovi-home-book{
  width:258px;
  height:82px;
  padding:0 32px;
  border-radius:13px;
  font-size:18px;
}

.trovi-home-count{
  margin-top:104px;
  max-width:560px;
  grid-template-columns:48px auto minmax(220px,1fr);
  column-gap:17px;
}

.trovi-live-dot{
  width:48px;
  height:48px;
  border-radius:10px;
}

.trovi-live-dot i{
  width:13px;
  height:13px;
}

.trovi-home-count strong{
  font-size:55px;
}

.trovi-home-count>span:last-child{
  font-size:16px;
  line-height:1.42;
}

/* Right demo area */
.trovi-demo-panel{
  width:100%;
  max-width:780px;
  justify-self:end;
  align-self:start !important;
  margin:0 !important;
  padding:0 !important;
}

.trovi-industry-heading{
  margin:0 0 39px;
  text-align:center;
}

.trovi-industry-heading h2{
  margin:0;
  color:#090909;
  font-size:38px;
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:750;
}

.trovi-industry-heading p{
  margin:11px 0 0;
  color:#646464;
  font-size:18px;
  line-height:1.4;
}

.trovi-demo-grid{
  width:100%;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:45px;
  row-gap:48px;
}

.trovi-demo-item{
  overflow:visible;
}

/* Smaller planets create room for the section heading */
.trovi-planet{
  width:176px !important;
  height:176px !important;
  flex:0 0 176px !important;
  overflow:visible !important;
  border-radius:0 !important;
  background:transparent !important;
}

/* Preserve complete transparent outer rings */
.trovi-planet-base{
  inset:-18% !important;
  width:136% !important;
  height:136% !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
  border-radius:0 !important;
  filter:none !important;
}

.trovi-planet-flow{
  display:none !important;
}

.trovi-demo-label{
  margin-top:11px;
  font-size:17px;
  line-height:1.15;
  font-weight:700;
}

.trovi-demo-controls{
  margin-top:45px;
  gap:18px;
}

.trovi-round-control{
  width:62px;
  height:62px;
  border-color:#dedede;
  font-size:38px;
}

.trovi-speak-link,
.trovi-demo-status{
  display:none !important;
}

@media(max-width:1360px){
  .trovi-home-shell{
    width:min(1240px,calc(100% - 54px));
    grid-template-columns:minmax(420px,.83fr) minmax(620px,1.17fr);
    gap:42px;
    padding-top:48px;
  }

  .trovi-home-copy{
    margin-top:52px !important;
  }

  .trovi-home-copy h1{
    font-size:80px;
  }

  .trovi-industry-heading{
    margin-bottom:31px;
  }

  .trovi-industry-heading h2{
    font-size:33px;
  }

  .trovi-demo-grid{
    column-gap:26px;
    row-gap:42px;
  }

  .trovi-planet{
    width:158px !important;
    height:158px !important;
    flex-basis:158px !important;
  }

  .trovi-home-count{
    margin-top:80px;
  }
}

@media(max-width:1040px){
  .trovi-home-shell{
    grid-template-columns:1fr;
    width:min(820px,calc(100% - 44px));
    padding:54px 0 70px;
  }

  .trovi-home-copy{
    margin-top:0 !important;
    max-width:680px;
  }

  .trovi-demo-panel{
    justify-self:center;
    max-width:780px;
    margin-top:70px !important;
  }
}

@media(max-width:680px){
  .trovi-home-shell{
    width:calc(100% - 34px);
    padding:44px 0 60px;
  }

  .trovi-home-copy h1{
    font-size:58px;
  }

  .trovi-home-copy p{
    margin-top:34px;
    font-size:18px;
  }

  .trovi-home-book{
    width:210px;
    height:62px;
  }

  .trovi-home-count{
    margin-top:60px;
    grid-template-columns:38px auto;
  }

  .trovi-live-dot{
    width:38px;
    height:38px;
  }

  .trovi-industry-heading h2{
    font-size:30px;
  }

  .trovi-industry-heading p{
    font-size:16px;
  }

  .trovi-demo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:38px 16px;
  }

  .trovi-planet{
    width:140px !important;
    height:140px !important;
    flex-basis:140px !important;
  }
}


/* =========================================================
   REAL APPROVED HERO — FINAL PRODUCTION ADJUSTMENTS
   ========================================================= */

@media (min-width:1041px){
  .trovi-home-shell{
    width:min(1480px,calc(100% - 96px));
    grid-template-columns:minmax(500px,.84fr) minmax(700px,1.16fr);
    align-items:start;
    gap:72px;
    padding:62px 0 52px;
  }

  /* One coherent left block with consistent edges and rhythm */
  .trovi-home-copy{
    width:100%;
    max-width:545px;
    align-self:start !important;
    justify-self:start;
    margin:56px 0 0 !important;
    padding:0 !important;
  }

  .trovi-home-copy h1{
    max-width:545px;
    font-size:clamp(76px,5.9vw,96px);
    line-height:.94;
  }

  .trovi-home-copy p{
    max-width:500px;
    margin:45px 0 38px;
    font-size:20px;
    line-height:1.58;
  }

  .trovi-home-book{
    width:258px;
    height:76px;
  }

  /* Compact metric, matching the latest approved reference */
  .trovi-home-count{
    width:max-content;
    max-width:100%;
    margin-top:76px;
    display:grid;
    grid-template-columns:36px auto auto;
    align-items:center;
    column-gap:13px;
  }

  .trovi-live-dot{
    width:36px;
    height:36px;
    border-radius:8px;
  }

  .trovi-live-dot i{
    width:10px;
    height:10px;
  }

  .trovi-home-count strong{
    font-size:30px;
    line-height:1;
    letter-spacing:-.035em;
  }

  .trovi-home-count>span:last-child{
    max-width:260px;
    font-size:14px;
    line-height:1.35;
    white-space:nowrap;
  }

  .trovi-demo-panel{
    align-self:start !important;
    margin:0 !important;
  }
}

@media(max-width:1360px) and (min-width:1041px){
  .trovi-home-shell{
    width:min(1240px,calc(100% - 54px));
    grid-template-columns:minmax(410px,.83fr) minmax(620px,1.17fr);
    gap:38px;
    padding-top:46px;
  }

  .trovi-home-copy{
    max-width:470px;
    margin-top:48px !important;
  }

  .trovi-home-copy h1{
    font-size:76px;
  }

  .trovi-home-copy p{
    font-size:19px;
    max-width:455px;
  }

  .trovi-home-count{
    margin-top:65px;
  }

  .trovi-home-count>span:last-child{
    font-size:13.5px;
  }
}

@media(max-width:1040px){
  .trovi-home-copy{
    max-width:680px;
    margin-top:0 !important;
  }

  .trovi-home-count{
    grid-template-columns:34px auto;
    margin-top:58px;
  }

  .trovi-home-count strong{
    font-size:30px;
  }

  .trovi-home-count>span:last-child{
    grid-column:2;
    margin-top:5px;
    font-size:14px;
  }
}


/* =========================================================
   TROVI SIGNAL DECK — APPROVED THREE-CARD CAROUSEL
   ========================================================= */

:root{
  --trovi-orange:#f04412;
  --paper:#fffefa;
  --ink:#080808;
  --muted:#68645f;
}

/* Slimmer, more spacious global navigation */
.nav{
  width:min(1440px,calc(100% - 80px));
  max-width:none;
  height:74px;
  padding:0;
  display:grid;
  grid-template-columns:190px minmax(0,1fr) 270px;
  gap:42px;
}

.logo-word{
  font-size:18px;
  letter-spacing:.075em;
}

.logo-mark{
  width:27px;
  height:27px;
}

.nav-menu{
  justify-content:center;
  gap:40px;
}

.nav-menu .nav-link{
  padding:27px 0;
  font-size:14px;
  font-weight:500;
}

.nav-actions{
  gap:14px;
}

.nav-actions .btn{
  height:46px;
  padding:0 22px;
  border-radius:9px;
  font-size:14px;
  font-weight:600;
}

/* Hero balance */
.trovi-home-hero{
  padding:0 !important;
  background:#fff;
}

.trovi-home-shell{
  width:min(1450px,calc(100% - 80px));
  min-height:calc(100vh - 74px);
  display:grid;
  grid-template-columns:minmax(390px,.67fr) minmax(780px,1.33fr);
  align-items:center;
  gap:58px;
  padding:56px 0 52px;
}

.trovi-home-copy{
  width:100%;
  max-width:430px;
  align-self:center !important;
  margin:0 !important;
  padding:0 !important;
}

.trovi-home-copy h1{
  max-width:430px;
  font-size:clamp(58px,4.4vw,72px);
  line-height:.94;
  letter-spacing:-.058em;
}

.trovi-home-copy p{
  max-width:425px;
  margin:38px 0 36px;
  color:#5b5956;
  font-size:18px;
  line-height:1.62;
}

.trovi-home-book{
  width:218px;
  height:62px;
  padding:0 26px;
  border-radius:9px;
  font-size:16px;
}

.trovi-home-count{
  width:max-content;
  margin-top:70px;
  display:grid;
  grid-template-columns:32px auto auto;
  align-items:center;
  gap:12px;
}

.trovi-live-dot{
  width:32px;
  height:32px;
  border-radius:7px;
}

.trovi-live-dot i{
  width:9px;
  height:9px;
}

.trovi-home-count strong{
  font-size:26px;
  letter-spacing:-.03em;
}

.trovi-home-count>span:last-child{
  color:#66625e;
  font-size:13px;
  white-space:nowrap;
}

/* Deck heading */
.signal-deck{
  width:100%;
  max-width:none;
  min-width:0;
  align-self:center !important;
  justify-self:stretch;
  margin:0 !important;
  padding:0 !important;
}

.trovi-industry-heading{
  margin:0 0 34px;
  text-align:center;
}

.trovi-industry-heading h2{
  margin:0;
  font-size:34px;
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:750;
}

.trovi-industry-heading p{
  margin:10px 0 0;
  color:#696662;
  font-size:17px;
}

/* Two slides, each exactly filling the viewport */
.signal-viewport{
  width:100%;
  overflow:hidden;
  padding:8px 7px 12px;
}

.signal-track{
  width:200%;
  display:flex;
  transform:translateX(0);
  transition:transform .58s cubic-bezier(.22,.72,.18,1);
  will-change:transform;
}

.signal-track.show-second{
  transform:translateX(-50%);
}

.signal-slide{
  width:50%;
  flex:0 0 50%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  padding:0 6px;
}

/* Warm signal cards */
.signal-card{
  --tone:#94cf52;
  --tone-light:#eaf5bf;
  --tone-mid:#b9df70;
  --tone-deep:#76ac3f;
  position:relative;
  min-width:0;
  height:405px;
  padding:28px 22px 24px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--tone) 42%,#dedbd3);
  border-radius:24px;
  background:
    radial-gradient(circle at 50% 17%,rgba(255,255,255,.88),transparent 34%),
    linear-gradient(158deg,#fffdfa 0%,#fffefb 68%,color-mix(in srgb,var(--tone-light) 25%,#fff) 100%);
  box-shadow:
    0 18px 38px rgba(32,27,20,.055),
    inset 0 1px 0 rgba(255,255,255,.9);
  color:var(--ink);
  text-align:center;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.signal-card:hover{
  transform:translateY(-5px);
  border-color:color-mix(in srgb,var(--tone) 68%,#d3d0c9);
  box-shadow:
    0 24px 48px rgba(38,31,22,.09),
    0 0 28px color-mix(in srgb,var(--tone) 14%,transparent);
}

.signal-card.playing{
  border-color:var(--tone);
  box-shadow:
    0 25px 50px rgba(38,31,22,.09),
    0 0 34px color-mix(in srgb,var(--tone) 25%,transparent);
}

.signal-card--salons{
  --tone:#f47f8d;
  --tone-light:#ffd8db;
  --tone-mid:#f49baa;
  --tone-deep:#c9566e;
}

.signal-card--accounting{
  --tone:#a783d9;
  --tone-light:#e7d8fb;
  --tone-mid:#b69ae3;
  --tone-deep:#7754aa;
}

.signal-card--real-estate{
  --tone:#76b9e6;
  --tone-light:#d9effe;
  --tone-mid:#90c8ec;
  --tone-deep:#477faf;
}

.signal-card--legal{
  --tone:#efaf45;
  --tone-light:#ffe8bb;
  --tone-mid:#f3bf63;
  --tone-deep:#b9772c;
}

.signal-card--ecommerce{
  --tone:#f36b32;
  --tone-light:#ffd7c2;
  --tone-mid:#ff8a50;
  --tone-deep:#b83b16;
}

.signal-route{
  position:absolute;
  left:-7px;
  top:0;
  width:116px;
  height:73px;
  border-top:2px solid color-mix(in srgb,var(--tone) 34%,transparent);
  border-right:2px solid color-mix(in srgb,var(--tone) 34%,transparent);
  border-radius:0 72px 0 0;
  transform:skewX(-16deg);
}

.signal-route i{
  position:absolute;
  right:-6px;
  bottom:-6px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--tone);
  box-shadow:0 0 15px color-mix(in srgb,var(--tone) 70%,transparent);
}

.signal-orb{
  position:relative;
  width:142px;
  height:142px;
  flex:0 0 142px;
  margin-top:25px;
  border-radius:50%;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(60% 42% at 35% 21%,rgba(255,255,255,.93),transparent 58%),
    radial-gradient(115% 25% at 50% 53%,rgba(255,255,255,.74),rgba(255,255,255,.18) 38%,transparent 60%),
    radial-gradient(circle at 50% 42%,var(--tone-light) 0%,var(--tone-mid) 58%,var(--tone-deep) 100%);
  border:7px solid color-mix(in srgb,var(--tone-light) 72%,#fff);
  box-shadow:
    inset 0 -15px 25px color-mix(in srgb,var(--tone-deep) 30%,transparent),
    inset 0 9px 19px rgba(255,255,255,.58),
    0 0 0 2px rgba(255,255,255,.92),
    0 10px 25px color-mix(in srgb,var(--tone) 24%,transparent);
}

.signal-orb::after{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.72);
  pointer-events:none;
  z-index:4;
}

.signal-orb-flow{
  position:absolute;
  inset:-20%;
  z-index:2;
  opacity:.48;
  background:
    radial-gradient(ellipse at 23% 52%,transparent 0 34%,rgba(255,255,255,.72) 36% 38%,transparent 41%),
    radial-gradient(ellipse at 77% 38%,transparent 0 35%,rgba(255,255,255,.48) 37% 39%,transparent 42%),
    radial-gradient(ellipse at 46% 72%,transparent 0 38%,rgba(255,255,255,.38) 40% 42%,transparent 45%);
  animation:signalLiquid 8s ease-in-out infinite alternate;
}

.signal-orb-shine{
  position:absolute;
  z-index:3;
  left:16%;
  top:12%;
  width:54%;
  height:26%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,255,255,.72),transparent 70%);
  transform:rotate(-16deg);
  filter:blur(1px);
}

@keyframes signalLiquid{
  from{transform:translate3d(-2%,-1%,0) rotate(-2deg) scale(1.01)}
  to{transform:translate3d(3%,2%,0) rotate(4deg) scale(1.06)}
}

.signal-card-title{
  margin-top:24px;
  font-size:23px;
  line-height:1.1;
  font-weight:750;
  letter-spacing:-.025em;
}

.signal-card-copy{
  min-height:52px;
  margin-top:10px;
  color:#706c67;
  font-size:15px;
  line-height:1.45;
}

.signal-player{
  width:100%;
  margin-top:auto;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:12px;
}

.signal-play{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  padding-left:3px;
  background:#fff;
  border:1px solid color-mix(in srgb,var(--tone) 38%,#ddd);
  color:var(--tone);
  font-size:16px;
  box-shadow:0 7px 16px rgba(34,27,19,.07);
}

.signal-wave{
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  color:var(--tone);
}

.signal-wave i{
  width:2px;
  height:var(--h);
  min-height:5px;
  border-radius:999px;
  background:currentColor;
  opacity:.78;
  transform-origin:center;
}

.signal-card.playing .signal-wave i{
  animation:signalBars .72s ease-in-out infinite alternate;
  animation-delay:calc(var(--h) * -5ms);
}

@keyframes signalBars{
  from{transform:scaleY(.46);opacity:.45}
  to{transform:scaleY(1);opacity:1}
}

.signal-controls{
  display:flex;
  justify-content:center;
  gap:14px;
  margin-top:23px;
}

.signal-arrow{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  padding:0 0 4px;
  border:1px solid #dedbd4;
  border-radius:50%;
  background:#fff;
  color:#111;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(32,27,20,.045);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.signal-arrow:hover{
  transform:translateY(-2px);
  border-color:#bdb8ae;
  box-shadow:0 12px 24px rgba(32,27,20,.075);
}

.signal-dots{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:17px;
}

.signal-dots i{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#c8c5bf;
}

.signal-dots i.active{
  background:#111;
}

.signal-status{
  min-height:17px;
  margin:7px 0 0;
  color:#777;
  text-align:center;
  font-size:12px;
}

@media(max-width:1300px) and (min-width:1041px){
  .nav{
    width:min(1220px,calc(100% - 52px));
    grid-template-columns:175px minmax(0,1fr) 245px;
    gap:25px;
  }

  .nav-menu{
    gap:25px;
  }

  .trovi-home-shell{
    width:min(1220px,calc(100% - 52px));
    grid-template-columns:minmax(350px,.64fr) minmax(690px,1.36fr);
    gap:35px;
  }

  .trovi-home-copy h1{
    font-size:59px;
  }

  .signal-card{
    height:380px;
    padding:23px 18px 20px;
  }

  .signal-orb{
    width:126px;
    height:126px;
    flex-basis:126px;
  }

  .signal-card-title{
    font-size:21px;
  }
}

@media(max-width:1040px){
  .nav{
    width:calc(100% - 40px);
    grid-template-columns:1fr auto;
  }

  .trovi-home-shell{
    width:min(820px,calc(100% - 40px));
    grid-template-columns:1fr;
    padding:58px 0 70px;
  }

  .trovi-home-copy{
    max-width:560px;
  }

  .signal-deck{
    margin-top:76px !important;
  }
}

@media(max-width:720px){
  .signal-slide{
    grid-template-columns:1fr;
  }

  .signal-card{
    height:370px;
    max-width:390px;
    margin:0 auto;
  }

  .signal-track{
    width:600%;
  }

  .signal-slide{
    width:calc(100% / 6);
    flex-basis:calc(100% / 6);
  }

  .signal-track.show-second{
    transform:translateX(-50%);
  }

  .trovi-home-count>span:last-child{
    white-space:normal;
  }
}

@media(prefers-reduced-motion:reduce){
  .signal-track,
  .signal-card,
  .signal-orb-flow,
  .signal-wave i{
    animation:none !important;
    transition:none !important;
  }
}


/* =========================================================
   FINAL LEFT-COLUMN CENTERING
   Keeps the Signal Deck unchanged
   ========================================================= */

@media (min-width:1041px){
  .trovi-home-shell{
    align-items:center !important;
  }

  .trovi-home-copy{
    width:100% !important;
    max-width:430px !important;
    justify-self:center !important;
    align-self:center !important;
    margin:0 !important;
    padding:0 !important;
    transform:translateY(-8px);
  }

  .trovi-home-copy h1,
  .trovi-home-copy p,
  .trovi-home-book,
  .trovi-home-count{
    margin-left:0 !important;
  }

  .trovi-home-copy h1{
    max-width:430px !important;
  }

  .trovi-home-copy p{
    max-width:410px !important;
    margin-top:34px !important;
    margin-bottom:34px !important;
  }

  .trovi-home-book{
    width:218px !important;
    height:62px !important;
  }

  .trovi-home-count{
    margin-top:56px !important;
    width:max-content !important;
    max-width:100% !important;
  }
}

@media (max-width:1040px){
  .trovi-home-copy{
    justify-self:start !important;
    align-self:start !important;
    transform:none !important;
  }
}

/* =========================================================
   TROVI MOVING WORD ORB
   The orb erases the current word from right to left,
   then reveals the next word from left to right.
   ========================================================= */

.trovi-word-line{
  --orb-size:.38em;
  --orb-gap:.15em;
  position:relative;
  display:inline-block;
  min-width:12.2ch;
  height:1.02em;
  vertical-align:top;
  color:#f04412;
  white-space:nowrap;
}

.trovi-word{
  position:absolute;
  left:0;
  top:0;
  display:inline-block;
  color:#f04412;
  white-space:nowrap;
  clip-path:inset(0 0 0 0);
  will-change:clip-path;
}

.trovi-word-orb{
  position:absolute;
  left:0;
  top:50%;
  width:var(--orb-size);
  height:var(--orb-size);
  border-radius:50%;
  transform:translate3d(0,-45%,0);
  z-index:3;
  background:
    radial-gradient(circle at 34% 28%,rgba(255,255,255,.95),transparent 27%),
    radial-gradient(circle at 56% 62%,#ff754f 0%,#f04412 58%,#c42f09 100%);
  box-shadow:
    inset 0 -4px 7px rgba(113,25,0,.22),
    inset 0 3px 6px rgba(255,255,255,.38),
    0 5px 18px rgba(240,68,18,.32);
  will-change:transform;
}

.trovi-word-orb::after{
  content:"";
  position:absolute;
  inset:16%;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.58);
}

@media(max-width:720px){
  .trovi-word-line{
    min-width:12ch;
  }
}

@media(prefers-reduced-motion:reduce){
  .trovi-word-orb{
    display:none;
  }

  .trovi-word{
    position:static;
    clip-path:none !important;
  }
}


/* =========================================================
   DYNAMIC INDUSTRY ACCENT
   Synchronizes the changing word, moving orb and active card.
   ========================================================= */

.trovi-word-line{
  --word-accent:#4bcbbf;
  --word-accent-light:#bff4ec;
  --word-accent-deep:#268f87;
  color:var(--word-accent) !important;
  transition:color .42s ease;
}

.trovi-word{
  color:var(--word-accent) !important;
  transition:color .42s ease;
}

.trovi-word-orb{
  background:
    radial-gradient(circle at 34% 28%,rgba(255,255,255,.96),transparent 27%),
    radial-gradient(
      circle at 56% 62%,
      var(--word-accent-light) 0%,
      var(--word-accent) 55%,
      var(--word-accent-deep) 100%
    ) !important;
  box-shadow:
    inset 0 -4px 7px color-mix(in srgb,var(--word-accent-deep) 32%,transparent),
    inset 0 3px 6px rgba(255,255,255,.4),
    0 5px 18px color-mix(in srgb,var(--word-accent) 38%,transparent) !important;
  transition:background .42s ease,box-shadow .42s ease;
}

/* The matching industry card receives a gentle, premium emphasis. */
.signal-card.is-word-active{
  transform:translateY(-5px);
  border-color:color-mix(in srgb,var(--tone) 76%,#d0cdc5);
  box-shadow:
    0 25px 52px rgba(38,31,22,.09),
    0 0 36px color-mix(in srgb,var(--tone) 22%,transparent);
}

.signal-card.is-word-active .signal-orb{
  transform:scale(1.035);
  box-shadow:
    inset 0 -15px 25px color-mix(in srgb,var(--tone-deep) 30%,transparent),
    inset 0 9px 19px rgba(255,255,255,.58),
    0 0 0 2px rgba(255,255,255,.92),
    0 12px 30px color-mix(in srgb,var(--tone) 33%,transparent);
}

.signal-orb{
  transition:transform .42s ease,box-shadow .42s ease;
}

@media(prefers-reduced-motion:reduce){
  .trovi-word-line,
  .trovi-word,
  .trovi-word-orb,
  .signal-card,
  .signal-orb{
    transition:none !important;
  }
}


/* =========================================================
   GRAPHITE BOOK-A-CALL CTA
   Neutral button with a subtle active-industry accent glow.
   ========================================================= */

:root{
  --active-hero-accent:#4bcbbf;
  --active-hero-accent-soft:rgba(75,203,191,.20);
}

/* Header Book a call button */
.nav-actions .btn--accent{
  background:#1f1f22 !important;
  color:#fff !important;
  border:1px solid color-mix(in srgb,var(--active-hero-accent) 32%,#3b3b40) !important;
  box-shadow:
    0 10px 25px rgba(15,15,17,.13),
    0 0 0 1px rgba(255,255,255,.025) inset,
    0 0 22px color-mix(in srgb,var(--active-hero-accent) 15%,transparent);
  transition:
    background .2s ease,
    border-color .42s ease,
    box-shadow .42s ease,
    transform .15s ease !important;
}

.nav-actions .btn--accent:hover{
  background:#2b2b30 !important;
  border-color:color-mix(in srgb,var(--active-hero-accent) 54%,#4a4a50) !important;
  box-shadow:
    0 14px 30px rgba(15,15,17,.17),
    0 0 0 1px rgba(255,255,255,.035) inset,
    0 0 30px color-mix(in srgb,var(--active-hero-accent) 24%,transparent);
  transform:translateY(-1px);
}

.nav-actions .btn--accent:active{
  transform:translateY(0) scale(.98);
}

@media(prefers-reduced-motion:reduce){
  .nav-actions .btn--accent{
    transition:none !important;
  }
}


/* =========================================================
   HOMEPAGE INDUSTRY CARDS — RESTAURANT-STYLE GLASS ORBS
   ========================================================= */
.signal-card .signal-orb{
  width:156px;
  height:156px;
  flex:0 0 156px;
  margin-top:22px;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible;
  isolation:isolate;
}

.signal-card .signal-orb::before{
  content:"";
  position:absolute;
  inset:-4px;
  background:center/contain no-repeat;
  filter:drop-shadow(0 10px 24px color-mix(in srgb,var(--tone) 18%,transparent));
  animation:homepageOrbDrift 9s ease-in-out infinite alternate;
  will-change:transform;
}

.signal-card .signal-orb::after,
.signal-card .signal-orb-flow,
.signal-card .signal-orb-shine{
  display:none !important;
}

.signal-card--healthcare .signal-orb::before{background-image:url('../assets/planets/homepage_orbs/healthcare-orb-320.png')}
.signal-card--salons .signal-orb::before{background-image:url('../assets/planets/homepage_orbs/salons-orb-320.png')}
.signal-card--accounting .signal-orb::before{background-image:url('../assets/planets/homepage_orbs/accounting-orb-320.png')}
.signal-card--real-estate .signal-orb::before{background-image:url('../assets/planets/homepage_orbs/real-estate-orb-320.png')}
.signal-card--legal .signal-orb::before{background-image:url('../assets/planets/homepage_orbs/legal-orb-320.png')}
.signal-card--ecommerce .signal-orb::before{background-image:url('../assets/planets/homepage_orbs/ecommerce-orb-320.png')}

.signal-card:hover .signal-orb::before,
.signal-card.playing .signal-orb::before,
.signal-card.is-word-active .signal-orb::before{
  transform:translateY(-2px) scale(1.02);
}

@keyframes homepageOrbDrift{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(0,-4px,0) scale(1.018)}
}

@media(max-width:1120px){
  .signal-card .signal-orb{
    width:146px;
    height:146px;
    flex-basis:146px;
  }
}

@media(max-width:700px){
  .signal-card .signal-orb{
    width:132px;
    height:132px;
    flex-basis:132px;
  }
}

/* v24: remove decorative strings/routes attached to homepage orbs */
.signal-card .signal-route{display:none!important;}


/* =====================================================================
   MOBILE V12 — exact centered rotating words + compact live counter
   Desktop remains unchanged.
   ===================================================================== */
@media (max-width:720px){
  html,body{max-width:100%;overflow-x:hidden!important}
  .trovi-home-copy{width:100%!important;max-width:none!important;text-align:center!important}
  .trovi-home-copy h1{width:100%!important;max-width:100%!important;text-align:center!important;margin-left:auto!important;margin-right:auto!important}
  .trovi-word-line{
    display:block!important;
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0 auto!important;
    text-align:center!important;
    overflow:visible!important;
  }
  .trovi-word{left:0;top:0}
  .trovi-word-orb{left:0}

  /* Keep the running proof counter small and intentionally left aligned. */
  .trovi-home-count{
    width:auto!important;
    max-width:300px!important;
    margin:34px 0 0 18px!important;
    grid-template-columns:34px auto!important;
    grid-template-areas:"dot number" "dot label"!important;
    column-gap:10px!important;
    row-gap:2px!important;
    justify-content:start!important;
    text-align:left!important;
  }
  .trovi-home-count .trovi-live-dot{grid-area:dot;width:34px!important;height:34px!important;align-self:center!important}
  .trovi-home-count strong{grid-area:number;font-size:26px!important;line-height:1!important;letter-spacing:-.035em!important;text-align:left!important}
  .trovi-home-count>span:last-child{
    grid-area:label;
    font-size:11.5px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    text-align:left!important;
  }
}

/* =====================================================================
   MOBILE V13 — automatic centered words + compact proof counter
   Desktop remains unchanged.
   ===================================================================== */
@media (max-width:720px){
  /* Mobile does not use the moving orb. The word still changes automatically. */
  .trovi-word-orb{display:none!important}
  .trovi-word-line{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0 auto!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .trovi-word{
    position:static!important;
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    margin:0 auto!important;
    text-align:center!important;
    white-space:normal!important;
    clip-path:none!important;
    transform:none!important;
  }

  /* Proof counter sits directly below Book a demo, small and left aligned. */
  .trovi-home-count{
    width:100%!important;
    max-width:460px!important;
    margin:16px auto 0!important;
    padding:0 18px!important;
    display:grid!important;
    grid-template-columns:12px auto!important;
    grid-template-areas:"dot number" "dot label"!important;
    column-gap:8px!important;
    row-gap:1px!important;
    justify-content:start!important;
    align-items:center!important;
    text-align:left!important;
  }
  .trovi-home-count .trovi-live-dot{
    grid-area:dot!important;
    width:10px!important;
    height:10px!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:#65dff0!important;
    box-shadow:0 0 9px rgba(101,223,240,.62)!important;
    align-self:center!important;
  }
  .trovi-home-count .trovi-live-dot i{display:none!important}
  .trovi-home-count strong{
    grid-area:number!important;
    font-size:18px!important;
    line-height:1!important;
    letter-spacing:-.025em!important;
    text-align:left!important;
  }
  .trovi-home-count>span:last-child{
    grid-area:label!important;
    font-size:9.5px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    opacity:.78!important;
    text-align:left!important;
  }
}

/* V23: four active homepage demos = two balanced cards per desktop slide. */
@media (min-width:721px){
  .signal-slide{grid-template-columns:repeat(2,minmax(0,430px));justify-content:center;gap:28px;padding-left:20px;padding-right:20px}
}


/* =====================================================================
   V25 DESKTOP INDUSTRY CAROUSEL — 3 visible cards, center card featured
   Mobile remains one-card-at-a-time through mobile-home-v11.
   ===================================================================== */
@media (min-width:1041px){
  .trovi-demo-panel.signal-deck{
    overflow:visible;
  }
  .signal-viewport{
    position:relative;
    height:414px;
    overflow:visible;
    padding:4px 0 8px;
  }
  .signal-track{
    position:relative;
    width:100%!important;
    height:100%;
    display:block;
    transform:none!important;
    transition:none!important;
    overflow:visible;
  }
  .signal-slide{
    display:contents!important;
    width:auto!important;
    flex:none!important;
    padding:0!important;
  }
  .signal-card{
    position:absolute;
    top:16px;
    left:50%;
    width:min(30.5%,300px)!important;
    height:360px!important;
    padding:22px 18px 20px!important;
    margin:0!important;
    opacity:0;
    pointer-events:none;
    z-index:0;
    transform:translateX(-50%) scale(.82);
    transition:left .52s cubic-bezier(.22,.72,.18,1),transform .52s cubic-bezier(.22,.72,.18,1),opacity .35s ease,filter .35s ease,box-shadow .35s ease;
  }
  .signal-card.desktop-left,
  .signal-card.desktop-right,
  .signal-card.desktop-center{
    opacity:1;
    pointer-events:auto;
  }
  .signal-card.desktop-left{
    left:17%;
    z-index:1;
    transform:translateX(-50%) scale(.88);
    filter:saturate(.88) brightness(.94);
  }
  .signal-card.desktop-center{
    left:50%;
    z-index:3;
    transform:translateX(-50%) scale(1.02);
    filter:none;
    box-shadow:0 28px 58px rgba(0,0,0,.22),0 0 32px color-mix(in srgb,var(--tone) 18%,transparent)!important;
  }
  .signal-card.desktop-right{
    left:83%;
    z-index:1;
    transform:translateX(-50%) scale(.88);
    filter:saturate(.88) brightness(.94);
  }
  .signal-card.desktop-hidden{
    left:50%;
    opacity:0;
    transform:translateX(-50%) scale(.72);
    pointer-events:none;
  }
  .signal-card .signal-orb{
    width:118px;
    height:118px;
    flex-basis:118px;
    margin-top:12px;
  }
  .signal-card-title{
    margin-top:18px;
    font-size:20px;
  }
  .signal-card-copy{
    min-height:42px;
    margin-top:8px;
    font-size:13.5px;
  }
  .signal-player{
    grid-template-columns:42px minmax(0,1fr);
    gap:10px;
  }
  .signal-play{
    width:42px;
    height:42px;
  }
  .signal-wave{height:34px}
  .signal-controls{margin-top:8px}
  .signal-dots{margin-top:10px}
}
