/* ================= /product/ ================= */
.p-hero{isolation:isolate;padding-bottom:84px}
.p-hero .mesh .b1{width:52vw;height:52vw;left:-16vw;top:-8%;background:radial-gradient(closest-side,rgba(107,79,160,.55),rgba(107,79,160,0));animation:drift1 22s ease-in-out infinite alternate}
.p-hero .mesh .b2{width:48vw;height:48vw;right:-14vw;top:-14%;background:radial-gradient(closest-side,rgba(224,106,60,.5),rgba(224,106,60,0));animation:drift2 26s ease-in-out infinite alternate}
.p-hero .mesh .b3{width:40vw;height:40vw;left:30vw;top:36%;background:radial-gradient(closest-side,rgba(247,168,200,.6),rgba(247,168,200,0));animation:drift3 20s ease-in-out infinite alternate}
.p-hero .mesh .b4{width:34vw;height:34vw;right:6vw;top:48%;background:radial-gradient(closest-side,rgba(242,181,68,.55),rgba(242,181,68,0));animation:drift1 28s ease-in-out infinite alternate-reverse}
.p-hero .mesh .fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(251,248,243,.35) 0%,rgba(251,248,243,0) 40%,rgba(251,248,243,.6) 80%,var(--bg) 100%)}
.p-hero h1{max-width:14ch}
.mod-index{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:40px auto 0;max-width:900px}
.mi{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px 0 12px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid var(--line);box-shadow:var(--sh-1);text-decoration:none;font-weight:600;font-size:14.5px;color:var(--ink);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .2s,box-shadow .2s}
.mi:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(46,26,70,.35)}
.mi i{width:12px;height:12px;border-radius:4px;flex:none}
.mi-v i{background:var(--violet)}.mi-s i{background:#3E8FD8}.mi-p i{background:#D2557F}.mi-t i{background:var(--terra)}.mi-m i{background:#2E9E62}.mi-g i{background:#C99016}

/* module sections */
.mod{padding:72px 0;scroll-margin-top:84px}
.mod-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:64px;align-items:center}
.mod-grid.rev .mod-copy{order:2}
.mod-grid.rev .mod-stage{order:1}
.mod-copy h2{margin-top:18px;font-size:clamp(32px,3.6vw,48px);letter-spacing:-.035em;line-height:1.04;text-wrap:balance}
.mod-lead{margin-top:18px;font-size:17.5px;line-height:1.6;color:var(--ink2);max-width:36em}
.mod-list{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:12px}
.mod-list li{position:relative;padding-left:32px;font-size:16px;line-height:1.45;font-weight:500}
.mod-list li::before{content:"";position:absolute;left:0;top:1px;width:21px;height:21px;border-radius:7px;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat}
#content-ai .mod-list li::before{background-color:var(--violet)}
#scheduler .mod-list li::before{background-color:#3E8FD8}
#influencer .mod-list li::before{background-color:#D2557F}
#sales .mod-list li::before{background-color:var(--terra)}
#engagement .mod-list li::before{background-color:#2E9E62}
#analytics .mod-list li::before{background-color:#C99016}
.mod-link{display:inline-flex;align-items:center;gap:6px;margin-top:24px;min-height:44px;font-weight:700;color:var(--ink);text-underline-offset:4px}
.mod-link:hover{color:var(--violet)}
.mod-stage{position:relative;border-radius:var(--r-lg);padding:40px;min-height:460px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.mod-stage::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-110px;top:-120px;background:rgba(255,255,255,.55)}
.mod-stage::after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;left:-70px;bottom:-90px;background:rgba(255,255,255,.4)}

/* app card shell */
.app-card{position:relative;z-index:1;width:100%;max-width:560px;background:#fff;border-radius:22px;padding:18px;box-shadow:0 1px 2px rgba(23,19,15,.05),0 30px 60px -28px rgba(46,26,70,.45);display:flex;flex-direction:column;gap:14px}
.ac-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ac-title{display:inline-flex;align-items:center;gap:9px;font:700 16px/1.2 var(--fd);letter-spacing:-.02em}
.ac-dot{width:24px;height:24px;border-radius:8px;flex:none;display:inline-block}
.dv{background:var(--violet)}.ds{background:#3E8FD8}.dp{background:#D2557F}.dt{background:var(--terra)}.dm{background:#2E9E62}.dg{background:#C99016}
.ac-pill{font-size:12px;font-weight:600;color:var(--ink2);background:var(--bg2);padding:5px 10px;border-radius:999px;white-space:nowrap}
.ac-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line2)}
.ac-meta{font-size:12.5px;font-weight:600;color:var(--ink2)}
.ac-btns{display:flex;gap:8px}
.sq-t{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* content ai */
.ca-brief{background:var(--bg);border-radius:14px;padding:12px 14px}
.ca-lab{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--violet)}
.ca-brief p{margin-top:4px;font-size:14.5px;line-height:1.5;min-height:3em}
.ca-chips{display:flex;flex-wrap:wrap;gap:8px}
.ca-chips .chip{height:28px;font-size:12px;background:var(--bg2);color:var(--ink2);gap:5px}
.ca-chips .chip-ok{background:var(--t-mint);color:#1F6B44}
.ca-vars{display:flex;flex-direction:column;gap:10px}
.cvar{position:relative;border-radius:16px;padding:12px 14px;background:#fff;border:1.5px solid var(--line);transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s,background .3s}
.cvar p{margin-top:3px;font:700 16.5px/1.3 var(--fd);letter-spacing:-.02em;padding-right:96px}
.cvar.scan{border-color:rgba(107,79,160,.4);background:#FBF9FF}
.cvar.pick{border-color:var(--violet);background:#FBF9FF;box-shadow:0 16px 36px -18px rgba(107,79,160,.6);transform:translateX(6px)}
.cmatch{position:absolute;top:50%;right:12px;transform:translateY(-50%) scale(.85);opacity:0;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#fff;background:var(--violet);padding:4px 9px;border-radius:999px;transition:opacity .3s,transform .4s cubic-bezier(.3,1.5,.5,1)}
.cvar.pick .cmatch{opacity:1;transform:translateY(-50%)}

/* scheduler */
.sc-body{display:flex;flex-direction:column;gap:12px}
.heat{display:grid;grid-template-columns:30px repeat(7,minmax(0,1fr));gap:5px;align-items:center}
.heat b{font-size:11.5px;font-weight:700;color:var(--muted);text-align:center}
.heat b.hi{color:#1D5FA3}
.hz{font-size:11px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.heat i{position:relative;display:block;height:30px;border-radius:8px;background:#3E8FD8}
.heat .h1{opacity:.12}.heat .h2{opacity:.25}.heat .h3{opacity:.42}.heat .h4{opacity:.62}.heat .h5{opacity:1}
.heat i.best{background:#1D5FA3;box-shadow:0 0 0 3px #fff,0 0 0 5px #3E8FD8;animation:bestPulse 2.4s ease-in-out infinite}
.heat i.best em{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:10.5px;font-weight:800;color:#fff}
@keyframes bestPulse{50%{box-shadow:0 0 0 3px #fff,0 0 0 8px rgba(62,143,216,.45)}}
.heat-legend{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--muted);font-weight:600;justify-content:flex-end}
.heat-legend i{width:90px;height:8px;border-radius:4px;background:linear-gradient(90deg,rgba(62,143,216,.12),#3E8FD8)}
.sc-queue{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--line2)}
.sq{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:14px;background:var(--bg)}
.sq-c{width:10px;height:34px;border-radius:5px;flex:none}
.cv{background:var(--violet)}.cp{background:#D2557F}.cg{background:var(--gold)}
.sq-n{display:flex;flex-direction:column;min-width:0;flex:1}
.sq-n b{font-size:13.5px;font-weight:700}
.sq-n em{font-style:normal;font-size:12px;color:var(--muted)}

/* influencer */
.in-funnel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.in-funnel span{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:14px;background:var(--bg)}
.in-funnel b{font:800 22px/1 var(--fd);letter-spacing:-.03em}
.in-funnel em{font-style:normal;font-size:11.5px;font-weight:600;color:var(--muted)}
.in-funnel .win{background:var(--t-pink)}
.in-funnel .win b{color:#A23C6B}
.in-table{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.in-table li{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line2)}
.in-table li:last-child{border-bottom:0}
.in-h{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding-top:0!important}
.in-who{display:flex;align-items:center;gap:10px;min-width:0}
.in-who .av{width:32px;height:32px;font-size:10.5px}
.in-who>span{display:flex;flex-direction:column;min-width:0}
.in-who b{font-size:13.5px}
.in-who em{font-style:normal;font-size:12px;color:var(--muted)}
.fit{display:flex;align-items:center;gap:8px}
.fit i{flex:1;height:7px;border-radius:4px;background:var(--bg2);position:relative;overflow:hidden}
.fit i::after{content:"";position:absolute;inset:0;width:var(--w);border-radius:4px;background:linear-gradient(90deg,#F7A8C8,#D2557F);transform-origin:left;transform:scaleX(0);transition:transform 1.2s cubic-bezier(.2,.8,.2,1) .2s}
.in.fit i::after,.mod-stage.in .fit i::after{transform:scaleX(1)}
.fit b{font-size:12.5px;font-variant-numeric:tabular-nums;width:22px;text-align:right}
.in-msg{border-radius:16px;padding:12px 14px;background:var(--t-pink);display:flex;flex-direction:column;gap:6px}
.in-msg-t{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#A23C6B}
.in-msg-t .av{width:22px;height:22px;font-size:8.5px}
.in-msg p{font-size:13.5px;line-height:1.5;min-height:4.5em}

/* sales */
.sa-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;align-items:start}
.sa-thread{display:flex;flex-direction:column;gap:9px}
.sa-thread .msg{max-width:94%}
.msg.ai{background:linear-gradient(135deg,#B5481F,#C4592A);color:#fff;border-bottom-right-radius:5px;align-self:flex-end;display:flex;flex-direction:column;gap:3px}
.msg.ai .by{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.85}
.slots{display:flex;gap:6px;flex-wrap:wrap;align-self:flex-end}
.slot{font-size:12px;font-weight:600;padding:6px 10px;border-radius:10px;border:1.5px solid var(--line);background:#fff;white-space:nowrap}
.slot b{font-weight:800}
.slot.on{border-color:var(--terra);background:var(--t-peach);color:#A4441E}
.slot.off{opacity:.45;text-decoration:line-through}
.sa-app .booked span:last-child{display:flex;flex-direction:column;font-size:12px;color:#1F5C3C;line-height:1.35}
.sa-app .booked b{font-size:13px;color:#174A30}
.sa-app .booked em{font-style:normal}
.crm-rec{border-radius:16px;background:var(--bg);padding:12px;display:flex;flex-direction:column;gap:10px}
.crm-t{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.crm-sync{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;font-size:11px;letter-spacing:0;text-transform:none;font-weight:700;color:#1D5FA3;background:var(--t-sky);padding:4px 9px;border-radius:999px}
.crm-sync i{width:7px;height:7px;border-radius:50%;background:#3E8FD8;animation:pulse 1.6s ease-in-out infinite}
.crm-rec dl{margin:0;display:flex;flex-direction:column;gap:8px}
.crm-rec dl div{display:flex;flex-direction:column;gap:1px;padding-bottom:8px;border-bottom:1px dashed var(--line)}
.crm-rec dl div:last-child{border-bottom:0;padding-bottom:0}
.crm-rec dt{font-size:11px;color:var(--muted);font-weight:600}
.crm-rec dd{margin:0;font-size:13px;font-weight:700}
.crm-rec dd .stp{display:inline-block;margin:2px 0 0}

/* engagement */
.en-list{display:flex;flex-direction:column;gap:12px}
.cmx{display:flex;gap:10px;align-items:flex-start}
.cmx .av{width:30px;height:30px;font-size:10px}
.cmx-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.cmx-r{background:var(--t-mint);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.cmx-r .by{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#1F6B44}
.cmx-r p{font-size:13px;line-height:1.45}
.tog.on i{background:#2E9E62}
.tog.on i::after{left:14px}
.tog i::after{transition:left .25s}
.policy{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:#F1FAF5;border:1px solid rgba(46,158,98,.25);color:#1F6B44}
.pol-ic{width:32px;height:32px;border-radius:10px;background:#2E9E62;color:#fff;display:grid;place-items:center;flex:none}
.policy b{font-size:14px;color:#174A30}
.policy ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}
.policy li{font-size:12.5px;font-weight:600;position:relative;padding-left:14px}
.policy li::before{content:"";position:absolute;left:0;top:7px;width:7px;height:2px;background:#2E9E62}

/* analytics */
.an-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.an-tiles span{display:flex;flex-direction:column;gap:2px;padding:10px 11px;border-radius:14px;background:var(--bg);min-width:0}
.an-tiles em{font-style:normal;font-size:11px;font-weight:600;color:var(--muted)}
.an-tiles b{font:800 21px/1.1 var(--fd);letter-spacing:-.03em}
.an-tiles i{font-style:normal;font-size:11.5px;font-weight:700;color:#2E9E62}
.an-chart svg{display:block;width:100%;height:130px}
.an-chart .grid line{stroke:rgba(23,19,15,.07);stroke-width:1}
.an-chart .ln1{stroke-dasharray:640;stroke-dashoffset:640}
.mod-stage.in .an-chart .ln1{animation:draw 2.2s cubic-bezier(.4,.1,.2,1) .3s forwards}
.an-x{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:11px;font-weight:600;color:var(--muted);text-align:center;margin-top:4px}
.an-leg{display:flex;gap:14px;margin-top:8px;font-size:11.5px;font-weight:600;color:var(--ink2);flex-wrap:wrap}
.an-leg>span{display:inline-flex;align-items:center;gap:6px}
.an-leg i{width:14px;height:3px;border-radius:2px;display:inline-block}
.an-leg .l1{background:var(--terra)}.an-leg .l2{background:var(--violet)}
.an-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.an-top3,.an-sum{border-radius:14px;background:var(--bg);padding:12px}
.an-top3 ol{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;counter-reset:a}
.an-top3 li{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;font-weight:600;counter-increment:a}
.an-top3 li span{min-width:0}
.an-top3 li span::before{content:counter(a) ". ";color:var(--muted)}
.an-top3 li b{color:#8A5A07}
.an-sum{background:var(--t-gold)}
.an-sum p{margin-top:6px;font-size:12.5px;line-height:1.5;color:#5C3E06}

/* CTA band */
.p-cta-sec{padding-top:40px}
.p-cta{position:relative;overflow:hidden;isolation:isolate;border-radius:48px;padding:80px 48px;text-align:center;background:#2C1F3A;color:#fff;display:flex;flex-direction:column;align-items:center}
.p-cta h2{font-size:clamp(34px,4.4vw,60px);letter-spacing:-.035em;max-width:18ch;text-wrap:balance}
.p-cta p{margin-top:18px;font-size:18px;color:rgba(255,255,255,.85);max-width:36em}
.p-cta-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:30px}
.btn-glass{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff}
.btn-glass:hover{background:rgba(255,255,255,.2)}

@media (max-width:1100px){
  .mod-grid{gap:40px}
  .mod-stage{padding:28px}
}
@media (max-width:960px){
  .mod-grid,.mod-grid.rev{grid-template-columns:1fr;gap:32px}
  .mod-grid.rev .mod-copy{order:1}
  .mod-grid.rev .mod-stage{order:2}
  .app-card{max-width:600px}
}
@media (max-width:760px){
  .p-hero{padding-bottom:56px}
  .mod-index{gap:8px;margin-top:30px}
  .mi{font-size:14px;padding:0 14px 0 11px}
  .mod{padding:52px 0}
  .mod-copy h2{font-size:clamp(30px,8.6vw,38px)}
  .mod-lead{font-size:16.5px}
  .mod-stage{padding:16px;min-height:0;border-radius:28px}
  .app-card{padding:14px;border-radius:18px;gap:12px}
  .cvar p{font-size:15px;padding-right:0}
  .cvar.pick{transform:none}
  .cmatch{position:static;transform:none;margin-top:8px;align-self:flex-start}
  .cvar{display:flex;flex-direction:column}
  .cvar.pick .cmatch{transform:none}
  .heat{grid-template-columns:24px repeat(7,minmax(0,1fr));gap:4px}
  .heat i{height:26px;border-radius:6px}
  .heat i.best em{font-size:9px}
  .in-funnel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .in-table li{grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .in-table li .fit{grid-column:1 / -1;grid-row:2}
  .in-h{display:none!important}
  .sa-grid{grid-template-columns:1fr}
  .an-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .an-bottom{grid-template-columns:1fr}
  .p-cta{padding:52px 22px;border-radius:32px}
  .p-cta p{font-size:16.5px}
}
@media (prefers-reduced-motion:reduce){
  .heat i.best,.crm-sync i{animation:none}
  .an-chart .ln1{stroke-dashoffset:0}
  .fit i::after{transform:none;transition:none}
}
html:not(.js) .fit i::after{transform:none}
html:not(.js) .an-chart .ln1{stroke-dashoffset:0}
