
:root{--ink:#1D1D1F;--ink2:#424245;--ink3:#6E6E73;--line:rgba(0,0,0,.09);--bg2:#F5F5F7;--violet:#5B21B6;--blue:#0071E3;--green:#047857;--sky:#075985;--amber:#8B4009}
.hp{color:var(--ink);font-family:Inter,sans-serif}
.hp .container{max-width:1160px}
.hp-sec{padding:104px 0}
.hp-sec.alt{background:var(--bg2)}
.eyebrow{font-family:Inter,sans-serif;font-size:15px;font-weight:600;color:var(--violet);margin:0 0 14px;letter-spacing:-.005em}
.hp-h2{text-wrap:balance;font-family:'Inter Tight',sans-serif;font-size:clamp(30px,3.7vw,46px);font-weight:800;line-height:1.08;letter-spacing:-.035em;color:var(--ink);margin:0}
.sec-head{max-width:820px;margin:0 auto 56px;text-align:center}
.sec-sub{font-size:18px;line-height:1.6;color:var(--ink2);margin:18px auto 0;max-width:700px}
.sec-sub.left{margin-left:0;text-align:left}
.hp-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.hp-ctas.left{justify-content:flex-start}
.btn-lg{padding:14px 28px;font-size:15.5px}

/* hero */
.hp-hero{padding:96px 0 40px;text-align:center}
.hp-h1{text-wrap:balance;font-family:'Inter Tight',sans-serif;font-size:clamp(38px,5.6vw,72px);font-weight:800;line-height:1.02;letter-spacing:-.045em;max-width:1000px;margin:0 auto}
.hp-h1 .hl{color:var(--violet);display:block}
.hp-lead{font-size:19px;color:var(--ink3);margin:26px 0 30px}
.states{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:left;max-width:1120px;margin:0 auto}
.state{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px 22px 22px;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s}
.state::before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--c)}
.state:hover{border-color:var(--c);box-shadow:0 10px 30px rgba(0,0,0,.06)}
.st-eval{--c:#047857}.st-opt{--c:#075985}.st-re{--c:#8B4009}.st-cr{--c:#5B21B6}
.state-now{font-size:14px;color:var(--ink3);line-height:1.4;min-height:39px}
.state-do{font-family:'Inter Tight',sans-serif;font-size:21px;font-weight:800;letter-spacing:-.025em;line-height:1.2;color:var(--ink)}
.state-prod{margin-top:auto;padding-top:12px;display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:600;color:var(--c)}
.state-prod svg{width:14px;height:14px;transition:transform .2s}
.state:hover .state-prod svg{transform:translateX(3px)}
.hp-approve{display:inline-flex;align-items:center;gap:10px;margin:30px 0 0;font-family:'Inter Tight',sans-serif;font-size:19px;font-weight:700;letter-spacing:-.015em}
.hp-approve svg{width:22px;height:22px}

/* video */
.hp-video{padding:40px 0 24px}
.vid-frame{position:relative;max-width:1040px;margin:0 auto;border-radius:22px;overflow:hidden;background:#0d0820;aspect-ratio:16/9;box-shadow:0 30px 80px rgba(40,20,90,.22)}
.vid-frame video{display:block;width:100%;height:100%;object-fit:cover;background:#0d0820}
.vid-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:14px;padding-bottom:44px;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.45));border:0;cursor:pointer;color:#fff;font:inherit}
.vid-play-btn{width:78px;height:78px;border-radius:50%;background:rgba(255,255,255,.96);color:var(--violet);display:flex;align-items:center;justify-content:center;transition:transform .2s}
.vid-play-btn svg{width:30px;height:30px;margin-left:4px}
.vid-play:hover .vid-play-btn{transform:scale(1.06)}
.vid-play-txt{font-family:'Inter Tight',sans-serif;font-size:18px;font-weight:700;letter-spacing:-.01em}
.vid-frame.playing .vid-play{display:none}

/* why */
.why-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:start}
.why-body p{font-size:18px;line-height:1.65;color:var(--ink2);margin:0 0 16px}
.why-facts{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--line)}
.why-facts li{padding:16px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.55;color:var(--ink2)}
.why-facts strong{color:var(--ink);font-weight:600}

/* products */
.prod{background:#fff;border:1px solid var(--line);border-radius:24px;padding:44px;margin-bottom:22px}
.prod-tag{font-size:14px;font-weight:700;margin:0 0 12px;color:var(--c)}
.prod-eval{--c:#047857}.prod-opt{--c:#075985}.prod-re{--c:#8B4009}.prod-cr{--c:#5B21B6}
.prod-h{text-wrap:balance;font-family:'Inter Tight',sans-serif;font-size:clamp(26px,2.9vw,36px);font-weight:800;letter-spacing:-.032em;line-height:1.1;margin:0 0 14px}
.prod-h-sm{font-size:clamp(22px,2.2vw,27px)}
.prod-p{font-size:17px;line-height:1.62;color:var(--ink2);margin:0;max-width:720px}
.eval-boxes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}
.ebox{display:flex;flex-direction:column;gap:10px;padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--bg2);text-decoration:none;color:inherit;transition:border-color .2s,background .2s}
.ebox:hover{border-color:#047857;background:#F0FAF6}
.ebox-ico{width:44px;height:44px;border-radius:12px;background:#E3F4EC;color:#047857;display:flex;align-items:center;justify-content:center}
.ebox-ico svg{width:24px;height:24px}
.ebox-name{font-family:'Inter Tight',sans-serif;font-size:22px;font-weight:800;letter-spacing:-.025em}
.ebox-p{font-size:15.5px;line-height:1.6;color:var(--ink2)}
.ebox-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.ebox-chips span{font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;background:#fff;border:1px solid rgba(4,120,87,.25);color:#047857}
.ebox-link{margin-top:auto;padding-top:8px;font-size:14.5px;font-weight:600;color:var(--blue)}
.heal{display:flex;gap:12px;align-items:flex-start;margin:26px 0 0;padding:16px 18px;border-radius:14px;background:#F6F3FE;font-size:15px;line-height:1.55;color:var(--ink2)}
.heal strong{color:var(--violet)}
.heal-ico{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:#fff;color:var(--violet);display:flex;align-items:center;justify-content:center}
.heal-ico svg{width:17px;height:17px}
.heal-sm{margin-top:22px}
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.ticks{list-style:none;padding:0;margin:22px 0 0}
.ticks li{position:relative;padding:9px 0 9px 30px;font-size:16px;line-height:1.5;color:var(--ink)}
.ticks li::before{content:"";position:absolute;left:0;top:12px;width:18px;height:18px;border-radius:50%;background:#EAF4FA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.2l2.6 2.6L13 6.4' fill='none' stroke='%23075985' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.impact{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 14px 40px rgba(7,89,133,.08)}
.impact-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:var(--bg2);border-bottom:1px solid var(--line);font-size:12.5px;font-weight:700}
.impact-state{color:var(--violet);background:#F1ECFD;padding:3px 10px;border-radius:20px;font-size:11.5px}
.impact-req{padding:14px 18px 6px;font-size:14px;color:var(--ink2)}
.impact-files{list-style:none;margin:0;padding:6px 18px 10px}
.impact-files li{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px}
.impact-files b{width:20px;height:20px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font:700 11px ui-monospace,Menlo,monospace}
.m-mod{background:#FDF4EC;color:#8B4009}.m-add{background:#ECF7F3;color:#047857}.m-tst{background:#EAF4FA;color:#075985}
.impact-files code{font:12.5px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink)}
.impact-foot{display:flex;flex-wrap:wrap;gap:6px 18px;padding:12px 18px;border-top:1px solid var(--line);background:#F6FBF9;font-size:13px;font-weight:700}
.impact-foot .ok{color:#047857}
.impact-note{margin:0;padding:0 18px 10px;background:#F6FBF9;font-size:11px;color:var(--ink3)}
.prod-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.prod-sm{margin:0;display:flex;flex-direction:column;padding:36px}
.prod-link{margin-top:22px;font-size:15px;font-weight:600;color:var(--blue);text-decoration:none}
.prod-link:hover{text-decoration:underline}

/* self-heal */
.hp-heal{background:#14111F}
.heal-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.eyebrow-on-dark{color:#C4B5FD}
.on-dark{color:#fff}
.on-dark-p{color:rgba(255,255,255,.74);font-size:18px;line-height:1.65;margin:20px 0 0}
.heal-list{list-style:none;padding:0;margin:26px 0 0}
.heal-list li{position:relative;padding:10px 0 10px 30px;color:rgba(255,255,255,.88);font-size:16px;line-height:1.5;border-top:1px solid rgba(255,255,255,.1)}
.heal-list li::before{content:"";position:absolute;left:2px;top:17px;width:12px;height:12px;border-radius:50%;background:#34D399}
.loop{width:100%;max-width:440px;display:block;margin:0 auto}
.loop text{font-family:'Inter Tight',sans-serif;font-weight:700;font-size:17px;fill:#fff}
.loop .loop-core{font-size:30px;font-weight:800;fill:#fff}
.loop .loop-sub{font-family:Inter,sans-serif;font-size:13px;font-weight:500;fill:rgba(255,255,255,.55)}
@media (prefers-reduced-motion:no-preference){
 .loop-arc{stroke-dasharray:6 8;animation:dash 2.4s linear infinite}
 @keyframes dash{to{stroke-dashoffset:-56}}
 .ln{animation:pulse 4.5s ease-in-out infinite}
 .ln2{animation-delay:1.5s}.ln3{animation-delay:3s}
 @keyframes pulse{0%,100%{opacity:.75}15%{opacity:1}35%{opacity:.75}}
}

/* compliance */
.fw-row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:44px}
.fw{display:flex;flex-direction:column;gap:4px;padding:18px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.fw-n{font-family:'Inter Tight',sans-serif;font-size:17px;font-weight:800;letter-spacing:-.02em}
.fw-c{font-size:13px;color:var(--ink3)}
.comp-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:44px;align-items:start}
.report{border:1px solid var(--line);border-radius:20px;background:#fff;padding:26px;box-shadow:0 20px 60px rgba(91,33,182,.08)}
.rep-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12.5px}
.rep-brand{display:inline-flex;align-items:center;gap:6px;font-family:'Inter Tight',sans-serif;font-weight:800;font-size:15px}
.rep-kind{color:var(--violet);font-weight:600}
.rep-sample{margin-left:auto;background:#FDF4EC;color:#8B4009;font-weight:700;font-size:11px;padding:3px 10px;border-radius:20px}
.rep-title{font-family:'Inter Tight',sans-serif;font-size:26px;font-weight:800;letter-spacing:-.03em;margin:16px 0 4px}
.rep-meta{font-size:12.5px;color:var(--ink3)}
.rep-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 22px}
.rc{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:12px;background:var(--bg2)}
.rc-n{font-size:12.5px;font-weight:700}
.rc-p{font-family:'Inter Tight',sans-serif;font-size:28px;font-weight:800;letter-spacing:-.03em;line-height:1.05}
.rc-b{font-size:11px;font-weight:700;color:#B3261E}
.rc-bar{height:5px;border-radius:5px;background:rgba(0,0,0,.08);overflow:hidden;margin-top:4px}
.rc-bar i{display:block;height:100%;background:var(--blue);border-radius:5px}
.rep-sub{font-family:'Inter Tight',sans-serif;font-weight:800;font-size:16px;margin-bottom:8px}
.rr{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}
.rr b{display:block;font-size:13.5px;font-weight:600;line-height:1.35}
.rr code{display:inline-block;margin-top:4px;font:11.5px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink3);background:var(--bg2);padding:2px 6px;border-radius:5px;word-break:break-all}
.sev{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px}
.sev.crit{background:#FDECEA;color:#B3261E}.sev.high{background:#FFF4E0;color:#8B4009}
.clears{font-size:12px;font-weight:600;color:var(--ink2);white-space:nowrap}
.comp-points{display:grid;gap:26px}
.cp h3{font-family:'Inter Tight',sans-serif;font-size:20px;font-weight:800;letter-spacing:-.02em;margin:0 0 6px}
.cp p{font-size:16px;line-height:1.6;color:var(--ink2);margin:0}
.comp-note{margin:40px 0 0;padding:16px 20px;border-radius:12px;background:var(--bg2);font-size:14px;line-height:1.6;color:var(--ink2)}

/* approvals */
.chain-label{font-size:14px;font-weight:700;color:var(--ink3);margin:0 0 14px}
.chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:0}
.chain li{position:relative;padding:22px 26px 22px 18px;margin-right:10px;background:#fff;border:1px solid var(--line);border-radius:14px;font-family:'Inter Tight',sans-serif;font-size:15.5px;font-weight:700;line-height:1.3;letter-spacing:-.01em;display:flex;align-items:center;min-height:96px}
.chain li::after{content:"";position:absolute;right:-17px;top:50%;width:22px;height:22px;transform:translateY(-50%);background:var(--bg2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M8 5l6 6-6 6' fill='none' stroke='%235B21B6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px no-repeat;border-radius:50%;z-index:2}
.chain li.chain-end{background:#ECF7F3;border-color:rgba(4,120,87,.3);color:#04543E;margin-right:0}
.chain li.chain-end::after{display:none}
.appr-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.appr{padding:24px 26px;background:#fff;border:1px solid var(--line);border-radius:16px}
.appr h3{font-family:'Inter Tight',sans-serif;font-size:18px;font-weight:800;letter-spacing:-.015em;margin:0 0 6px}
.appr p{margin:0;font-size:16px;line-height:1.55;color:var(--ink2)}

/* proof */
.proof-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.pf{padding:34px;border:1px solid var(--line);border-radius:20px;background:#fff}
.pf-tag{font-size:13px;font-weight:700;color:var(--violet);margin:0 0 10px}
.pf h3{font-family:'Inter Tight',sans-serif;font-size:22px;font-weight:800;letter-spacing:-.025em;line-height:1.2;margin:0 0 12px}
.pf p{font-size:16px;line-height:1.65;color:var(--ink2);margin:0}

/* trust */
.trust-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.tr{padding:24px 20px;background:#fff;border:1px solid var(--line);border-radius:16px}
.tr h3{font-family:'Inter Tight',sans-serif;font-size:17px;font-weight:800;letter-spacing:-.015em;margin:0 0 8px}
.tr p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink2)}

/* private equity */
.pe-panel{border:1px solid var(--line);border-radius:28px;padding:56px;background:linear-gradient(180deg,#FBFAFE,#fff)}
.pe-head{max-width:820px}
.pe-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.pes{padding:24px 22px;border-top:3px solid var(--violet);background:#fff;border-radius:0 0 14px 14px;box-shadow:0 1px 0 var(--line) inset,0 0 0 1px var(--line)}
.pes h3{font-family:'Inter Tight',sans-serif;font-size:18.5px;font-weight:800;letter-spacing:-.02em;margin:0 0 8px}
.pes p{margin:0;font-size:15px;line-height:1.55;color:var(--ink2)}

/* faq */
.faq-list{max-width:860px;margin:0 auto}
.faq-list details{border-bottom:1px solid rgba(0,0,0,.12);padding:4px 0}
.faq-list summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font-family:'Inter Tight',sans-serif;font-size:19px;font-weight:700;letter-spacing:-.015em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;margin-top:-8px;border-right:2px solid var(--ink3);border-bottom:2px solid var(--ink3);transform:rotate(45deg);transition:transform .2s}
.faq-list details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.faq-list details p{margin:0 0 22px;font-size:16.5px;line-height:1.7;color:var(--ink2);max-width:780px}

/* final */
.offer-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:980px;margin:0 auto}
.offer{display:flex;flex-direction:column;padding:38px;border:1px solid var(--line);border-radius:22px;background:#fff}
.offer-for{font-size:13.5px;font-weight:600;color:var(--ink3);margin:0 0 10px}
.offer h3{font-family:'Inter Tight',sans-serif;font-size:26px;font-weight:800;letter-spacing:-.03em;margin:0 0 12px}
.offer p{font-size:16px;line-height:1.6;color:var(--ink2);margin:0 0 26px}
.offer .btn-primary{margin-top:auto;align-self:flex-start}
.final-note{text-align:center;margin:30px 0 0;font-size:15px;color:var(--ink3)}
.final-note a{color:var(--blue);text-decoration:none}

/* responsive */
@media(max-width:1100px){
 .states{grid-template-columns:repeat(2,1fr)}
 .fw-row{grid-template-columns:repeat(3,1fr)}
 .trust-grid{grid-template-columns:repeat(3,1fr)}
 .chain{grid-template-columns:repeat(3,1fr);row-gap:14px}
 .chain li:nth-child(3n)::after{display:none}
 .chain li:nth-child(3n){margin-right:0}
 .pe-steps{grid-template-columns:repeat(2,1fr)}
 .comp-grid,.heal-grid,.why-grid{grid-template-columns:1fr;gap:44px}
}
@media(max-width:820px){
 .hp-sec{padding:72px 0}
 .hp-hero{padding:64px 0 28px}
 .prod{padding:28px 22px;border-radius:20px}
 .eval-boxes,.opt-grid,.prod-pair,.proof-pair,.appr-pair,.offer-pair{grid-template-columns:1fr}
 .opt-grid{gap:28px}
 .pe-panel{padding:32px 22px;border-radius:22px}
 .vid-play{padding-bottom:22px}
 .vid-play-btn{width:60px;height:60px}
 .sec-head{margin-bottom:40px}
}
@media(max-width:560px){
 .states{grid-template-columns:1fr}
 .state-now{min-height:0}
 .fw-row{grid-template-columns:repeat(2,1fr)}
 .trust-grid,.pe-steps{grid-template-columns:1fr}
 .chain{grid-template-columns:1fr}
 .chain li{margin:0 0 14px;min-height:0}
 .chain li::after{display:block;right:auto;left:50%;top:auto;bottom:-18px;transform:translateX(-50%) rotate(90deg)}
 .chain li:nth-child(3n)::after{display:block}
 .chain li.chain-end::after{display:none}
 .rep-cards{grid-template-columns:1fr}
 .rr{grid-template-columns:1fr auto}
 .rr .clears{grid-column:1/-1}
 .report{padding:18px}
 .hp-ctas .btn-lg{width:100%;justify-content:center}
}

/* v61 hero: business headline, mechanical sub-line, chips */
.hp-hero .hp-h1{max-width:1060px}
.hp-sub{max-width:840px;margin:26px auto 0;font-size:clamp(17px,1.55vw,20px);line-height:1.6;color:var(--ink2);text-wrap:pretty}
.hp-sub strong{color:var(--ink);font-weight:600}
.hp-chips{list-style:none;padding:0;margin:28px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.hp-chips li{display:inline-flex;align-items:center;gap:8px;padding:9px 16px 9px 10px;border-radius:999px;font-size:15px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line)}
.hp-chips svg{width:20px;height:20px;flex:0 0 20px}
.chip-ai svg{color:var(--violet)}.chip-people svg{color:#047857}.chip-evidence svg{color:var(--blue)}
.hp-hero .hp-ctas{margin-top:32px}
.hp-hero .hp-lead{margin:64px 0 22px}
@media(max-width:560px){.hp-chips li{font-size:14px;padding:8px 14px 8px 9px}.hp-hero .hp-lead{margin-top:48px}}
/* v62 YouTube click-to-load */
.vid-poster{display:block;width:100%;height:100%;object-fit:cover}
.vid-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid-frame.playing .vid-poster{visibility:hidden}
.vid-noscript{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);color:#fff;font-weight:600}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.vid-msg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center;color:#fff;background:#0d0820}
.vid-msg p{margin:0;font-size:17px;line-height:1.55;color:#DDD6FE}
.vid-msg a{display:inline-block;padding:12px 22px;border-radius:999px;background:#fff;color:#1D1D1F;font-weight:700;text-decoration:none}
.vid-play{background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.25))}

/* ═════════ inner pages (v58 design) ═════════ */
.crumbs{padding:22px 0 0;font-size:13.5px;color:var(--ink3)}
.crumbs a{color:var(--ink3);text-decoration:none}
.crumbs a:hover{color:var(--blue)}
.crumbs span{margin:0 8px;opacity:.5}
.ph{padding:44px 0 72px}
.ph-center{text-align:center}
.ph-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.ph-tag{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--c,var(--violet));margin:0 0 16px}
.ph-tag i{width:9px;height:9px;border-radius:50%;background:var(--c,var(--violet))}
.ph-h1{text-wrap:balance;font-family:'Inter Tight',sans-serif;font-size:clamp(36px,5vw,62px);font-weight:800;line-height:1.04;letter-spacing:-.042em;margin:0}
.ph-h1 .hl{color:var(--c,var(--violet))}
.ph-lede{font-size:19px;line-height:1.6;color:var(--ink2);margin:22px 0 0;max-width:640px}
.ph-center .ph-lede{margin-left:auto;margin-right:auto;max-width:760px}
.ph .hp-ctas{margin-top:32px}
.ph-center .hp-ctas{justify-content:center}
.ph:not(.ph-center) .hp-ctas{justify-content:flex-start}
.pc-eval{--c:#047857}.pc-opt{--c:#075985}.pc-re{--c:#8B4009}.pc-cr{--c:#5B21B6}.pc-pe{--c:#5B21B6}.pc-comp{--c:#047857}

.cards{display:grid;gap:16px}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.cards.c4{grid-template-columns:repeat(4,1fr)}
.card{padding:28px 26px;background:#fff;border:1px solid var(--line);border-radius:18px}
.alt .card{background:#fff}
.card h3{font-family:'Inter Tight',sans-serif;font-size:19.5px;font-weight:800;letter-spacing:-.022em;line-height:1.25;margin:0 0 8px}
.card p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink2)}
.card .card-ico{width:42px;height:42px;border-radius:12px;background:var(--tint,#F1ECFD);color:var(--c,var(--violet));display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.card .card-ico svg{width:22px;height:22px}
.card .card-meta{margin-top:12px;font-size:13px;color:var(--ink3)}
.card .card-link{display:inline-block;margin-top:16px;font-size:14.5px;font-weight:600;color:var(--blue);text-decoration:none}
.card-accent{border-top:3px solid var(--c,var(--violet))}
a.card{text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s}
a.card:hover{border-color:var(--c,var(--violet));box-shadow:0 10px 30px rgba(0,0,0,.06)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.top{align-items:start}
.split .hp-h2{text-align:left}
.split-p{font-size:17.5px;line-height:1.65;color:var(--ink2);margin:18px 0 0}

.flow{list-style:none;margin:0 auto;padding:0;max-width:860px;position:relative}
.flow::before{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:2px;background:linear-gradient(var(--c,var(--violet)),rgba(91,33,182,.12))}
.flow li{position:relative;padding:0 0 30px 52px}
.flow li:last-child{padding-bottom:0}
.flow li::before{content:"";position:absolute;left:3px;top:6px;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--c,var(--violet))}
.flow h3{font-family:'Inter Tight',sans-serif;font-size:20px;font-weight:800;letter-spacing:-.022em;margin:0 0 6px}
.flow p{margin:0;font-size:16px;line-height:1.62;color:var(--ink2)}
.flow .gate{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:700;color:var(--violet);background:#F1ECFD;padding:4px 10px;border-radius:20px}

.reqs{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.req{padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:16px}
.req-kind{font-size:12.5px;font-weight:700;color:var(--c,var(--sky));margin:0 0 8px}
.req-q{font-family:'Inter Tight',sans-serif;font-size:17px;font-weight:700;letter-spacing:-.015em;line-height:1.35;margin:0 0 8px}
.req p{margin:0;font-size:15px;line-height:1.58;color:var(--ink2)}

.vs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vs > div{padding:30px;border-radius:18px;border:1px solid var(--line);background:#fff}
.vs .vs-before{background:var(--bg2)}
.vs-label{font-size:13px;font-weight:700;color:var(--ink3);margin:0 0 10px}
.vs .vs-after .vs-label{color:#047857}
.vs h3{font-family:'Inter Tight',sans-serif;font-size:21px;font-weight:800;letter-spacing:-.022em;margin:0 0 10px}
.vs p{margin:0;font-size:16px;line-height:1.6;color:var(--ink2)}

.note{max-width:860px;margin:36px auto 0;padding:18px 22px;border-radius:14px;background:var(--bg2);font-size:14.5px;line-height:1.6;color:var(--ink2)}
.alt .note{background:#fff;border:1px solid var(--line)}
.note strong{color:var(--ink)}

.heal-band{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding:38px 40px;border-radius:24px;background:#F6F3FE;border:1px solid rgba(91,33,182,.14)}
.heal-band .hb-ico{width:64px;height:64px;border-radius:18px;background:#fff;color:var(--violet);display:flex;align-items:center;justify-content:center}
.heal-band .hb-ico svg{width:34px;height:34px}
.heal-band h3{font-family:'Inter Tight',sans-serif;font-size:clamp(22px,2.4vw,28px);font-weight:800;letter-spacing:-.028em;margin:0 0 8px}
.heal-band p{margin:0;font-size:16.5px;line-height:1.6;color:var(--ink2)}
.heal-band ul{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 22px}
.heal-band li{position:relative;padding-left:22px;font-size:15px;line-height:1.5;color:var(--ink)}
.heal-band li::before{content:"";position:absolute;left:0;top:7px;width:10px;height:10px;border-radius:50%;background:var(--violet)}

.sample{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sc{padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:16px}
.sc h4{font-family:'Inter Tight',sans-serif;font-size:15.5px;font-weight:800;margin:0 0 12px;letter-spacing:-.01em}
.sc dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:7px 12px;font-size:13.5px}
.sc dt{color:var(--ink3)}
.sc dd{margin:0;font-weight:700;text-align:right}
.sc dd.ok{color:#047857}.sc dd.bad{color:#B3261E}
.sample-note{margin-top:14px;font-size:12.5px;color:var(--ink3);text-align:center}

.inputs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 28px}
.inputs li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.5}
.inputs li::before{content:"";position:absolute;left:0;top:15px;width:18px;height:18px;border-radius:5px;background:#F0FAF6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.2l2.6 2.6L13 6.4' fill='none' stroke='%23047857' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.inputs li b{font-weight:600}
.inputs li span{display:block;font-size:14px;color:var(--ink3)}

.fw-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fwd{display:flex;flex-direction:column;padding:26px 24px;background:#fff;border:1px solid var(--line);border-radius:18px}
.fwd h3{font-family:'Inter Tight',sans-serif;font-size:22px;font-weight:800;letter-spacing:-.025em;margin:0 0 4px}
.fwd .fwd-ref{font-size:12.5px;color:var(--ink3);line-height:1.5;margin:0 0 12px}
.fwd p{font-size:15px;line-height:1.58;color:var(--ink2);margin:0 0 16px}
.fwd .fwd-chips{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px}
.fwd .fwd-chips span{font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;background:var(--bg2);color:var(--ink2)}
.fwd .fwd-chips span.k{background:#F0FAF6;color:#047857}

.wiz{display:grid;grid-template-columns:240px 1fr;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 20px 60px rgba(4,120,87,.08)}
.wiz-rail{background:var(--bg2);padding:20px 14px;border-right:1px solid var(--line)}
.wiz-brand{display:flex;align-items:center;gap:7px;font-family:'Inter Tight',sans-serif;font-weight:800;font-size:15px;margin:0 0 18px 8px}
.wiz-rail ul{list-style:none;padding:0;margin:0}
.wiz-rail li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;font-size:13.5px;color:var(--ink2)}
.wiz-rail li i{width:14px;height:14px;border-radius:50%;border:2px solid #C7C7CC;flex:0 0 auto}
.wiz-rail li.done i{background:#047857;border-color:#047857}
.wiz-rail li.on{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 0 0 1px var(--line)}
.wiz-rail li.on i{border-color:#047857}
.wiz-cov{margin:18px 8px 0;padding:14px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.wiz-cov b{display:block;font-family:'Inter Tight',sans-serif;font-size:24px;font-weight:800}
.wiz-cov span{font-size:12px;color:var(--ink3);line-height:1.45;display:block;margin-top:4px}
.wiz-cov .bar{height:5px;border-radius:5px;background:#E5E5EA;margin-top:10px;overflow:hidden}
.wiz-cov .bar i{display:block;height:100%;width:64%;background:#047857}
.wiz-main{padding:28px 30px}
.wiz-main h4{font-family:'Inter Tight',sans-serif;font-size:24px;font-weight:800;letter-spacing:-.03em;margin:0 0 6px}
.wiz-main > p{font-size:14px;color:var(--ink2);margin:0 0 18px;line-height:1.55}
.wiz-fws{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.wf{position:relative;padding:14px;border:1px solid var(--line);border-radius:12px;font-size:12px;color:var(--ink3)}
.wf b{display:block;font-family:'Inter Tight',sans-serif;font-size:15px;color:var(--ink);margin-bottom:4px}
.wf.sel{border-color:#047857;background:#F0FAF6;box-shadow:0 0 0 1px #047857 inset}
.wf.sel::after{content:"";position:absolute;right:10px;top:12px;width:16px;height:16px;border-radius:50%;background:#047857 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2L11.5 5.6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.wiz-sum{margin-top:14px;padding:12px 14px;border-radius:10px;background:#F1ECFD;font-size:13px;color:#3C1A86}

.domains{width:100%;border-collapse:collapse;font-size:14px}
.domains th{text-align:left;font-size:12px;font-weight:700;color:var(--ink3);padding:10px 12px;border-bottom:1px solid var(--line)}
.domains td{padding:11px 12px;border-bottom:1px solid var(--line)}
.domains td.r{text-align:right;font-weight:700}
.dbar{display:inline-block;width:120px;height:6px;border-radius:6px;background:#E5E5EA;vertical-align:middle;margin-right:10px;overflow:hidden}
.dbar i{display:block;height:100%;background:var(--blue)}
.tbl-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 10px}

.verdicts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.verdict{display:inline-flex;flex-direction:column;gap:2px;padding:14px 18px;border-radius:14px;background:#fff;border:1px solid var(--line);min-width:170px}
.verdict b{font-family:'Inter Tight',sans-serif;font-size:16px;font-weight:800}
.verdict span{font-size:13px;color:var(--ink3)}
.verdict.v-met b{color:#047857}.verdict.v-part b{color:#8B4009}.verdict.v-not b{color:#B3261E}.verdict.v-cv b{color:#6E6E73}.verdict.v-na b{color:#075985}.verdict.v-inh b{color:#5B21B6}

.cta-band{padding:88px 0;text-align:center;background:#fff}
.cta-band .hp-h2{max-width:760px;margin:0 auto}
.cta-band p{font-size:18px;line-height:1.6;color:var(--ink2);max-width:640px;margin:16px auto 0}

.pull{max-width:900px;margin:0 auto;text-align:center;font-family:'Inter Tight',sans-serif;font-size:clamp(24px,2.8vw,34px);font-weight:700;letter-spacing:-.028em;line-height:1.25;color:var(--ink)}
.pull span{color:var(--violet)}

@media(max-width:1100px){
 .ph-grid,.split{grid-template-columns:1fr;gap:40px}
 .cards.c4{grid-template-columns:repeat(2,1fr)}
 .cards.c3,.fw-detail,.sample{grid-template-columns:repeat(2,1fr)}
 .wiz{grid-template-columns:1fr}
 .wiz-rail{border-right:0;border-bottom:1px solid var(--line)}
 .wiz-rail ul{display:flex;flex-wrap:wrap;gap:4px}
 .wiz-cov{display:none}
}
@media(max-width:820px){
 .ph{padding:32px 0 56px}
 .cards.c2,.cards.c3,.cards.c4,.reqs,.vs,.fw-detail,.sample,.inputs{grid-template-columns:1fr}
 .heal-band{grid-template-columns:1fr;padding:28px 22px}
 .heal-band ul{grid-template-columns:1fr}
 .wiz-fws{grid-template-columns:repeat(2,1fr)}
 .wiz-main{padding:22px 18px}
 .flow li{padding-left:44px}
}
.rc-b.n{color:var(--ink3)}
.ph-stack{display:grid;gap:52px}
.ph-stack .wiz{max-width:1000px;margin:0 auto;width:100%;text-align:left}

/* ═════════ test explorer (evaluate-quality) ═════════ */
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.tx{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}
.tx-tabs{display:flex;flex-direction:column;gap:6px;position:sticky;top:90px}
.tx-tab{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid transparent;border-radius:14px;background:transparent;font:inherit;font-size:15px;font-weight:600;color:var(--ink2);text-align:left;cursor:pointer;overflow:hidden;transition:background .2s,border-color .2s,color .2s;-webkit-tap-highlight-color:transparent}
.tx-tab:hover{background:#fff;color:var(--ink)}
.tx-tab:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.tx-tab.is-active{background:#fff;border-color:var(--line);color:var(--ink);box-shadow:0 6px 20px rgba(0,0,0,.05)}
.tx-ico{flex:0 0 34px;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--ink3);border:1px solid var(--line);transition:background .2s,color .2s}
.tx-ico svg{width:19px;height:19px}
.tx-tab.is-active .tx-ico{background:#ECFDF5;color:#047857;border-color:#A7F3D0}
.tx-bar{position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;background:transparent;overflow:hidden}
.tx-bar i{display:block;height:100%;width:0;background:#047857}
.tx.tx-auto .tx-tab.is-active .tx-bar{background:#E5E5EA}
.tx.tx-auto .tx-tab.is-active .tx-bar i{animation:txBar 9s linear forwards}
.tx.tx-paused .tx-tab.is-active .tx-bar i{animation-play-state:paused}
@keyframes txBar{to{width:100%}}
.tx-panel{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:28px;align-items:start;padding:24px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.05)}
.tx-panel[hidden]{display:none}
.tx-visual{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#FAFAFC}
.tx-chrome{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line);background:#fff;font-size:12px}
.tx-chrome span{width:9px;height:9px;border-radius:50%;background:#E5E5EA}
.tx-chrome b{margin-left:8px;font-weight:700;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-chrome em{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;color:#8B4009;background:#FFF4E0;padding:2px 8px;border-radius:10px;white-space:nowrap}
.tx-svg{display:block;width:100%;height:auto}
.tx-kicker{margin:0 0 6px;font-size:13.5px;font-weight:700;color:#047857}
.tx-info h3{font-family:'Inter Tight',sans-serif;font-size:clamp(22px,2.2vw,27px);font-weight:800;letter-spacing:-.028em;line-height:1.15;margin:0 0 10px;text-wrap:balance}
.tx-desc{font-size:15.5px;line-height:1.62;color:var(--ink2);margin:0 0 18px}
.tx-cols{display:grid;grid-template-columns:1fr;gap:16px}
.tx-cols h4{font-size:13px;font-weight:700;color:var(--ink3);margin:0 0 8px}
.tx-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}
.tx-list li{position:relative;padding-left:20px;font-size:14px;line-height:1.45;color:var(--ink)}
.tx-list li::before{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;background:#ECFDF5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.2 6.2l1.8 1.8 3.8-4' fill='none' stroke='%23047857' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.tx-get{grid-template-columns:1fr}
.tx-get li::before{background-color:#EEF2FF;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6h6M6.5 3.5L9 6l-2.5 2.5' fill='none' stroke='%233730A3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.tx-heal{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;padding:14px 16px;border-radius:14px;background:#F6F3FE;font-size:14px;line-height:1.55;color:var(--ink2)}
.tx-heal strong{color:var(--violet)}
.tx-heal-ico{flex:0 0 26px;width:26px;height:26px;border-radius:8px;background:#fff;color:var(--violet);display:flex;align-items:center;justify-content:center}
.tx-heal-ico svg{width:16px;height:16px}
.tx-note{margin:22px auto 0;max-width:820px;text-align:center;font-size:13px;color:var(--ink3)}

/* animation primitives: only run inside the active panel */
.tx-svg [class^="a-"],.tx-svg [class*=" a-"]{transform-box:fill-box;transform-origin:center}
.tx-panel.is-on .a-in{opacity:0;animation:txIn .5s ease forwards;animation-delay:var(--d,0s)}
.tx-panel.is-on .a-pop{opacity:0;animation:txPop .45s cubic-bezier(.3,1.6,.5,1) forwards;animation-delay:var(--d,0s)}
.tx-panel.is-on .a-type{opacity:0;animation:txIn .3s steps(2) forwards;animation-delay:var(--d,0s)}
.tx-panel.is-on .a-draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:txDraw var(--dur,2s) ease-out forwards;animation-delay:var(--d,0s)}
.tx-panel.is-on .a-green{animation:txGreen .35s ease forwards;animation-delay:var(--d,0s)}
.tx-panel.is-on .a-red{animation:txRedGreen 4.6s linear forwards;animation-delay:var(--d,0s)}
.tx-panel.is-on .a-ring{opacity:0;animation:txRing 1s ease-out forwards;animation-delay:var(--d,0s);transform-origin:center}
.tx-panel.is-on .a-hot{opacity:0;animation:txIn .4s ease forwards;animation-delay:var(--d,0s)}
.tx-panel.is-on .a-scan{animation:txScan 2.4s ease-in-out forwards;animation-delay:var(--d,0s)}
.tx-panel.is-on .a-focus{opacity:0;animation:txFocus .9s ease forwards;animation-delay:var(--d,0s)}
.tx-panel.is-on .a-focus.a-stay{animation-name:txFocusStay}
.tx-panel.is-on .a-chip rect{animation:txChip .5s ease forwards;animation-delay:var(--d,0s)}
.tx-panel.is-on .a-packet{animation:1.6s ease-in-out infinite;animation-delay:var(--d,0s);opacity:0}
.tx-panel.is-on .pk0{animation-name:txPk0}.tx-panel.is-on .pk1{animation-name:txPk1}.tx-panel.is-on .pk2{animation-name:txPk2}.tx-panel.is-on .pk3{animation-name:txPk3}
.tx-panel.is-on .a-cursor{animation:txCursor 2.2s ease-in-out forwards;animation-delay:var(--d,0s)}
.tx-panel.is-on .a-flash{opacity:0;animation:txFlash .6s ease forwards;animation-delay:var(--d,0s)}
.a-cursor{transform:translate(260px,40px)}
@keyframes txIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes txPop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
@keyframes txDraw{to{stroke-dashoffset:0}}
@keyframes txGreen{to{fill:#10B981}}
@keyframes txRedGreen{0%{fill:#E5E5EA}6%{fill:#EF4444}80%{fill:#EF4444}100%{fill:#8B5CF6}}
@keyframes txRing{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}
@keyframes txScan{0%{transform:translateY(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(222px);opacity:0}}
@keyframes txFocus{0%{opacity:0}30%{opacity:1}80%{opacity:1}100%{opacity:0}}
@keyframes txFocusStay{0%{opacity:0}40%{opacity:1}100%{opacity:1}}
@keyframes txChip{to{fill:#ECFDF5;stroke:#6EE7B7}}
@keyframes txPk0{0%{opacity:0;transform:translate(0,0)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate(180px,0px)}}
@keyframes txPk1{0%{opacity:0;transform:translate(0,0)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate(200px,-98px)}}
@keyframes txPk2{0%{opacity:0;transform:translate(0,0)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate(200px,0px)}}
@keyframes txPk3{0%{opacity:0;transform:translate(0,0)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate(200px,98px)}}
@keyframes txCursor{0%{transform:translate(260px,40px)}35%{transform:translate(230px,98px)}60%{transform:translate(230px,142px)}85%,100%{transform:translate(200px,186px)}}
@keyframes txFlash{0%{opacity:0}40%{opacity:1}100%{opacity:0}}

/* browser & device matrix */
.mx{padding:22px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.05);overflow-x:auto}
.mx-table{width:100%;border-collapse:separate;border-spacing:6px;min-width:380px}
.mx-table th{font-size:13px;font-weight:700;color:var(--ink3);text-align:center;padding:6px 4px}
.mx-table tbody th{text-align:left;color:var(--ink);font-size:14.5px;padding-left:4px}
.mx-table td{height:52px;text-align:center;background:var(--bg2);border-radius:12px}
.mx-ok{display:inline-flex;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;background:#ECFDF5;color:#047857}
.mx-ok svg{width:16px;height:16px}
.mx-na{color:#C7C7CC;font-weight:700}
.mx-foot{margin:12px 4px 0;font-size:12.5px;color:var(--ink3)}
.mx.is-on .mx-ok{animation:txPop .45s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(var(--i)*90ms)}
.mx-sizes{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px}
.mx-size{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.mx-size svg{grid-row:1/3;width:28px;height:28px;color:#047857}
.mx-size b{font-size:14.5px}
.mx-size span{font-size:12.5px;color:var(--ink3)}

/* integrations */
.ig{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ig-group{padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px}
.ig-group h3{font-family:'Inter Tight',sans-serif;font-size:19px;font-weight:800;letter-spacing:-.02em;margin:0 0 6px}
.ig-group p{font-size:14.5px;line-height:1.55;color:var(--ink2);margin:0 0 16px}
.ig-group ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ig-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1px solid var(--line);border-radius:999px;font-size:13.5px;font-weight:600;background:#fff}
.ig-mono{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;letter-spacing:.02em}
.ig.is-on .ig-chip{animation:txIn .45s ease both;animation-delay:calc(var(--i)*45ms)}

@media(max-width:1100px){
 .tx{grid-template-columns:1fr}
 .tx-tabs{position:static;flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;margin:0 -4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .tx-tabs::-webkit-scrollbar{display:none}
 .tx-tab{flex:0 0 auto;width:auto;scroll-snap-align:start;padding:10px 14px 12px}
 .tx-panel{grid-template-columns:1fr}
 .ig{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
 .tx-panel{padding:14px;gap:18px;border-radius:18px}
 .tx-list{grid-template-columns:1fr}
 .ig{grid-template-columns:1fr}
 .mx{padding:12px}
 .mx-table{border-spacing:4px;min-width:0}
 .mx-table th{font-size:11.5px}
 .mx-table tbody th{font-size:13px}
 .mx-table td{height:44px}
}
@media(prefers-reduced-motion:reduce){
 .tx-panel.is-on [class^="a-"],.tx-panel.is-on [class*=" a-"],.mx.is-on .mx-ok,.ig.is-on .ig-chip{animation:none!important;opacity:1!important;stroke-dashoffset:0!important}
 .tx-panel.is-on .a-packet,.tx-panel.is-on .a-scan,.tx-panel.is-on .a-cursor{display:none}
 .tx-panel.is-on .a-green,.tx-panel.is-on .a-red{fill:#10B981}
}
/* panel layout v2: visual + self-heal + outputs left, explanation right */
.tx-panel{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.tx-left{display:flex;flex-direction:column;gap:14px}
.tx-left .tx-heal{margin:0}
.tx-getbox{padding:16px 18px;border:1px solid var(--line);border-radius:14px}
.tx-getbox h4,.tx-info h4{font-size:13px;font-weight:700;color:var(--ink3);margin:0 0 10px}
.tx-info{padding:6px 6px 0}
.tx-checks{grid-template-columns:1fr;gap:9px}
.tx-checks li{font-size:14.5px}
@media(max-width:1100px){.tx-panel{grid-template-columns:1fr}.tx-info{order:-1;padding:4px 4px 0}.tx-checks{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.tx-checks{grid-template-columns:1fr}}
@media(max-width:1100px){.tx{grid-template-columns:minmax(0,1fr)}.tx-tabs{max-width:100%}}
.mx-table{table-layout:fixed}
.mx-table thead th:first-child,.mx-table tbody th{width:22%}
.tx > *,.comp-grid > *,.split > *,.ph-grid > *{min-width:0}
.rr code,.rep-meta{overflow-wrap:anywhere}
@media(max-width:1100px){.tx-tabs{margin:0}}
.tx-panel > *{min-width:0}
.tx-chrome b{min-width:0}
@media(max-width:1100px){.tx-panel{grid-template-columns:minmax(0,1fr)}}
@media(max-width:400px){.tx-chrome em{display:none}}
.ph-tag{display:inline-block;line-height:1.45}
.ph-tag i{display:inline-block;vertical-align:middle;margin:-2px 8px 0 0}

/* explorer accents per product */
.tx-acc-opt .tx-tab.is-active .tx-ico{background:#E0F2FE;color:#075985;border-color:#BAE6FD}
.tx-acc-opt .tx-bar i{background:#075985}.tx-acc-opt .tx-kicker{color:#075985}
.tx-acc-opt .tx-checks li::before{background-color:#E0F2FE;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.2 6.2l1.8 1.8 3.8-4' fill='none' stroke='%23075985' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.tx-acc-re .tx-tab.is-active .tx-ico{background:#FFF4E0;color:#8B4009;border-color:#F5D9A8}
.tx-acc-re .tx-bar i{background:#8B4009}.tx-acc-re .tx-kicker{color:#8B4009}
.tx-acc-re .tx-checks li::before{background-color:#FFF4E0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.2 6.2l1.8 1.8 3.8-4' fill='none' stroke='%238B4009' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.tx-acc-cr .tx-tab.is-active .tx-ico{background:#F1ECFD;color:#5B21B6;border-color:#DDD6FE}
.tx-acc-cr .tx-bar i{background:#5B21B6}.tx-acc-cr .tx-kicker{color:#5B21B6}
.tx-acc-cr .tx-checks li::before{background-color:#F1ECFD;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.2 6.2l1.8 1.8 3.8-4' fill='none' stroke='%235B21B6' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.tx-acc-comp .tx-tab.is-active .tx-ico{background:#ECFDF5;color:#047857;border-color:#A7F3D0}
.tx-acc-comp .tx-bar i{background:#047857}.tx-acc-comp .tx-kicker{color:#047857}
.tx-acc-comp .tx-checks li::before{background-color:#ECFDF5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.2 6.2l1.8 1.8 3.8-4' fill='none' stroke='%23047857' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.tx-panel.is-on .a-stamp{opacity:0;animation:txStamp .5s cubic-bezier(.3,1.6,.5,1) forwards;animation-delay:var(--d,0s)}
@keyframes txStamp{0%{opacity:0;transform:scale(1.8) rotate(-14deg)}100%{opacity:1;transform:scale(1) rotate(-8deg)}}
.tx-panel.is-on .a-grow{animation:txGrow 1.2s ease-out both;animation-delay:var(--d,0s);transform-origin:left center}
@keyframes txGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.tx-panel.is-on .a-out{animation:txOut .5s ease forwards;animation-delay:var(--d,0s)}
@keyframes txOut{to{opacity:0}}
.tx-panel.is-on .a-fadein-stay{opacity:0;animation:txIn .6s ease forwards;animation-delay:var(--d,0s)}
@media(prefers-reduced-motion:reduce){.tx-panel.is-on .a-out{opacity:0!important}}
@keyframes txGauge{from{stroke-dashoffset:var(--from)}to{stroke-dashoffset:var(--to)}}
.cta-band.cta-alt{background:var(--bg2)}
