@font-face{font-family:'Space Grotesk';font-weight:500;font-display:swap;src:url('/img/v2/76e8a2f98c.woff2') format('woff2')}
body{margin:0;background:#fff;color:#0E1210;font-family:'Geist',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#146430}a:hover{color:#0f5126}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.display{font-weight:400;letter-spacing:-.04em;line-height:1.04;margin:0}
.grey{color:#878C88}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:500;letter-spacing:-.01em}
.eyebrow{font-weight:500;font-size:14px;color:#146430}
.lead{font-size:18px;line-height:1.6;color:#4C524E;margin:0}
.muted{color:#5E6460}
.h2{font-size:clamp(34px,3.8vw,52px)}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:12px;background:#0E1210;color:#fff;font-weight:500;font-size:15px;text-decoration:none;transition:background .2s,transform .2s}
.btn:hover{background:#146430;color:#fff;transform:translateY(-1px)}
.btn-ghost{display:inline-flex;align-items:center;min-height:48px;padding:0 20px;border-radius:12px;border:1px solid #DCDCD8;color:#0E1210;font-weight:500;font-size:15px;text-decoration:none;background:#fff;transition:border-color .2s}
.btn-ghost:hover{border-color:#0E1210;color:#0E1210}
.navlink{color:#0E1210;text-decoration:none;font-size:15px}
.navlink:hover{color:#146430}
.pill{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;border-radius:999px;padding:6px 12px;background:#fff;border:1px solid #E4E4E0;color:#2A302C}
.chapter{display:flex;align-items:center;gap:12px}
.num{font-weight:500;font-size:13px;color:#0E1210;background:#F2F2F0;border-radius:999px;padding:4px 10px}
.point{display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-top:1px solid #ECECE9;font-size:15.5px;line-height:1.55}
.point b{font-weight:600}
.tick{flex:none;width:22px;height:22px;border-radius:50%;background:#EAF4ED;color:#146430;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px}
.dot{width:7px;height:7px;border-radius:50%;background:#6FCF8E;display:inline-block;animation:pulse 2.4s ease-out infinite}
.dot.amber{background:#E5A34C;animation-name:pulseA}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(111,207,142,.65)}70%,100%{box-shadow:0 0 0 8px rgba(111,207,142,0)}}
@keyframes pulseA{0%{box-shadow:0 0 0 0 rgba(229,163,76,.65)}70%,100%{box-shadow:0 0 0 8px rgba(229,163,76,0)}}
.stage{position:relative;overflow:hidden;border-radius:24px;background:#F3F3F1}
.photo{position:relative;overflow:hidden;border-radius:24px;background-color:#d6d4cc;background-position:center bottom;background-size:cover;background-repeat:no-repeat}
.bg-hero{background-image:url('/img/v2/50e5fe8dd3.webp')}
.bg-hero2{background-image:url('/img/v2/50e5fe8dd3.webp');background-position:88% bottom}
.bg-week{background-image:url('/img/v2/1b24279f90.webp')}
.bg-sov{background-image:url('/img/v2/cca495a7b5.webp')}
.bg-audit{background-image:url('/img/v2/f9ba9d0798.webp')}
.secthead{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-end;justify-content:space-between}
.secthead > div{flex:1 1 560px;min-width:0;max-width:800px}
.secthead > p{flex:1 1 340px;max-width:450px}

/* laptop + phone */
.laptop{position:relative;z-index:1;width:100%}
.laptop::after{content:'';position:absolute;left:2%;right:2%;bottom:-18px;height:34px;background:radial-gradient(ellipse at center,rgba(0,0,0,.5) 0%,rgba(0,0,0,0) 70%);filter:blur(5px);z-index:-1}
.lid{position:relative;background:linear-gradient(180deg,#2b2e2c,#151716);border-radius:20px 20px 7px 7px;padding:18px 15px 15px;box-shadow:inset 0 0 0 1.5px #4b4f4c,inset 0 0 0 4px #111312,0 2px 0 #0a0b0a}
.lid::before{content:'';position:absolute;top:6px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#26302b;box-shadow:inset 0 0 0 1px #0a0c0b}
.screen{position:relative;background:#fff;border-radius:5px;overflow:hidden;aspect-ratio:16/10}
.screen::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 36%);z-index:20}
.zw{position:absolute;inset:0;transform-origin:var(--ox,50%) var(--oy,50%)}
.zw img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:top left}
.base{position:relative;height:15px;margin:0 -7%;background:linear-gradient(180deg,#ecebe7 0%,#d1d0cb 40%,#a3a39e 100%);border-radius:3px 3px 20px 20px;box-shadow:0 24px 34px -14px rgba(0,0,0,.6)}
.base::before{content:'';position:absolute;top:0;left:50%;width:16%;margin-left:-8%;height:6px;background:linear-gradient(#bab9b4,#a7a6a1);border-radius:0 0 9px 9px}
.ringbox{position:absolute;z-index:4;border-radius:8px;box-shadow:0 0 0 2px #146430,0 0 0 7px rgba(20,100,48,.14);opacity:0}
.ringbox.amber{box-shadow:0 0 0 2px #D48A2A,0 0 0 7px rgba(229,163,76,.18)}
.phone{width:250px;border-radius:44px;background:linear-gradient(160deg,#3a3d3b,#141615);padding:10px;box-shadow:inset 0 0 0 1.5px #555a56,0 40px 70px -18px rgba(0,0,0,.6)}
.phone .scr{position:relative;border-radius:34px;overflow:hidden;background:#fff;aspect-ratio:390/844}
.phone .scr > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.island{position:absolute;top:8px;left:50%;width:78px;height:23px;margin-left:-39px;border-radius:12px;background:#0b0c0b;z-index:6}
.fp{position:relative;width:46px;height:46px;margin:0 auto}
.fp svg{position:absolute;inset:0;width:46px;height:46px}
.card{background:#fff;border-radius:14px;box-shadow:0 24px 50px -18px rgba(10,19,14,.35),0 0 0 1px rgba(15,22,18,.07)}
.chipx{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;border-radius:7px;padding:4px 9px;background:#F4F2EC;border:1px solid #E6E3DA;color:#2A3530;white-space:nowrap}
.chip-g{background:#EAF4ED;border-color:#CFE5D6;color:#146430}
.chip-a{background:#FBF1DF;border-color:#F0DDB8;color:#8A4F08}
.chip-r{background:#FBE9E8;border-color:#F1CFCC;color:#A1302B}
.chip-p{background:#F1ECFA;border-color:#E0D5F3;color:#5B3FA0}

/* play only when visible */
.sec:not(.on) *:not(.rv){animation-play-state:paused !important}

/* ---------- hero chain ---------- */
.chain{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.step{display:flex;flex-direction:column;gap:10px;align-items:flex-start;text-align:left;background:transparent;border:0;padding:0 14px 0 0;font:inherit;color:#6B716D;cursor:pointer;min-height:44px}
.step .knot{display:flex;align-items:center;width:100%}
.step .bead{flex:none;width:32px;height:32px;border-radius:10px;border:1.5px solid #D6D6D2;background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#6B716D;transition:background .3s,border-color .3s,color .3s,box-shadow .3s}
.step .link{flex:1;height:2px;background:#E6E6E2;margin-left:10px;position:relative;overflow:hidden;border-radius:2px}
.step .link i{position:absolute;inset:0;background:#146430;transform:scaleX(0);transform-origin:left center}
.step:last-child .link{visibility:hidden}
.step .t{font-size:15.5px;font-weight:500;line-height:1.3}
.step .s{font-size:13px;line-height:1.4;color:#6B716D}
.step:hover{color:#0E1210}
.step.done{color:#4C524E}
.step.done .bead{background:#146430;border-color:#146430;color:#fff}
.step.done .link i{transform:scaleX(1)}
.step.on{color:#0E1210}
.step.on .bead{border-color:#0E1210;background:#0E1210;color:#fff;box-shadow:0 0 0 5px rgba(14,18,16,.08)}
.step.on .link i{animation:fill var(--d) linear forwards}
@keyframes fill{to{transform:scaleX(1)}}
.layer{position:absolute;inset:0;animation:lay .5s ease both}
@keyframes lay{from{opacity:0}to{opacity:1}}
.capline{margin:28px 0 0;min-height:44px;display:inline-flex;align-items:center;background:#fff;color:#0E1210;border-radius:999px;padding:11px 20px;font-size:15px;font-weight:500;box-shadow:0 14px 34px rgba(0,0,0,.2);text-align:center;max-width:94%}
.zin{animation:zin var(--dur) cubic-bezier(.45,.05,.25,1) forwards}
@keyframes zin{0%,28%{transform:scale(1)}62%,100%{transform:scale(var(--zs))}}
.rin{animation:rin var(--dur) ease forwards}
@keyframes rin{0%,55%{opacity:0}66%,100%{opacity:1}}
.cur{position:absolute;z-index:8;width:26px;height:26px;opacity:0;filter:drop-shadow(0 3px 5px rgba(0,0,0,.35))}
.cur0{animation:cur0 5s ease forwards}
@keyframes cur0{0%,22%{left:60%;top:70%;opacity:0}28%{opacity:1;left:60%;top:70%}52%{left:91.9%;top:8.8%;transform:scale(1)}56%{transform:scale(.8)}60%{transform:scale(1)}74%{opacity:1;left:91.9%;top:8.8%}82%,100%{opacity:0;left:91.9%;top:8.8%}}
.rp0{position:absolute;z-index:7;left:91.9%;top:8.8%;width:56px;height:56px;border-radius:50%;border:2px solid rgba(20,100,48,.8);opacity:0;transform:translate(-50%,-50%) scale(.3);animation:rp0 5s ease forwards}
@keyframes rp0{0%,55%{opacity:0;transform:translate(-50%,-50%) scale(.3)}58%{opacity:.9}80%,100%{opacity:0;transform:translate(-50%,-50%) scale(2.3)}}
.saved{position:absolute;z-index:9;right:3%;top:14%;display:inline-flex;align-items:center;gap:8px;background:#0E1210;color:#fff;font-size:13px;font-weight:500;border-radius:10px;padding:9px 13px;box-shadow:0 14px 30px rgba(0,0,0,.3);opacity:0;animation:saved 5s ease forwards}
@keyframes saved{0%,62%{opacity:0;transform:translateY(-6px)}70%,100%{opacity:1;transform:none}}

/* chat mock */
.chat{position:absolute;inset:0;display:flex;flex-direction:column;background:#fff;color:#1B1F1D}
.chat-bar{display:flex;align-items:center;gap:7px;padding:11px 16px;border-bottom:1px solid #EEEEEB;background:#FAFAF8;font-size:13px}
.chat-bar i{width:11px;height:11px;border-radius:50%;background:#DCDCD8;display:inline-block}
.chat-title{margin-left:12px;font-weight:500;color:#3A403C}
.chat-gw{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:#146430;background:#EEF6F0;border-radius:999px;padding:4px 10px}
.chat-body{flex:1;display:flex;min-height:0}
.chat-side{width:200px;flex:none;background:#F6F6F4;border-right:1px solid #EEEEEB;padding:14px 10px;display:flex;flex-direction:column;gap:3px;font-size:13px;color:#5E6460}
.chat-new{font-weight:500;color:#1B1F1D;padding:8px 10px;border:1px solid #E2E2DE;border-radius:9px;background:#fff;margin-bottom:10px}
.chat-item{padding:8px 10px;border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-item.on{background:#E9E9E5;color:#1B1F1D;font-weight:500}
.chat-main{flex:1;min-width:0;display:flex;flex-direction:column}
.chat-msgs{flex:1;overflow:hidden;padding:26px 7% 10px;display:flex;flex-direction:column;gap:14px}
.m-user{align-self:flex-end;max-width:70%;background:#F0F0ED;border-radius:16px;padding:11px 15px;font-size:15px;line-height:1.45}
.m-ai{display:flex;flex-direction:column;gap:9px;max-width:88%}
.m-who{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#3A403C}
.av{width:24px;height:24px;border-radius:7px;background:#EDE7F6;color:#5B3FA0;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.m-text{margin:0;font-size:15px;line-height:1.55}
.m-tool{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;font-size:13px;color:#4C524E;background:#F7F7F5;border:1px solid #ECECE8;border-radius:9px;padding:7px 11px}
.m-tool .ok{color:#1F6B3A;font-weight:700}
.spin{width:12px;height:12px;border-radius:50%;border:2px solid #CFCFCA;border-top-color:#4C524E;display:inline-block;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hold{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#E5A34C;color:#fff;font-size:8px;font-weight:700;letter-spacing:-1px}
.m-held{border:1px solid #F0D7AA;background:#FFF8EC;border-radius:14px;padding:13px 15px;display:flex;flex-direction:column;gap:6px;box-shadow:0 10px 24px -14px rgba(138,79,8,.45)}
.mh-top{display:flex;align-items:center;gap:9px;font-size:14.5px;flex-wrap:wrap}
.mh-top b{font-weight:600}
.mh-chip{margin-left:auto;font-size:12px;font-weight:600;color:#8A4F08;background:#FBEBCD;border-radius:7px;padding:3px 8px}
.mh-rule,.mh-who{font-size:13.5px;color:#5A4A32}
.chat-input{margin:8px 7% 18px;position:relative;display:flex;align-items:center;gap:8px;min-height:50px;border:1px solid #E2E2DE;border-radius:16px;padding:0 10px 0 16px;font-size:15px;box-shadow:0 6px 20px -12px rgba(0,0,0,.25)}
.send{margin-left:auto;width:30px;height:30px;border-radius:9px;background:#1B1F1D;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:15px}
.typed{display:inline-block;overflow:hidden;white-space:nowrap;max-width:0;border-right:2px solid #1B1F1D;animation:type 6s steps(56) forwards}
@keyframes type{0%,4%{max-width:0}36%{max-width:560px}39%{max-width:560px;opacity:1}41%,100%{max-width:0;opacity:0;border-color:transparent}}
.ph1{position:absolute;left:16px;color:#A3A7A4;opacity:0;animation:ph1 6s forwards}
@keyframes ph1{0%,41%{opacity:0}44%,100%{opacity:1}}
.ph2{color:#A3A7A4}
.a-user,.a-who,.a-text,.a-t1,.a-t2{opacity:0;animation-duration:6s;animation-fill-mode:forwards;animation-timing-function:ease}
.a-user{animation-name:ap1}.a-who{animation-name:ap2}.a-text{animation-name:ap2}.a-t1{animation-name:ap3}.a-t2{animation-name:ap4}
@keyframes ap1{0%,40%{opacity:0;transform:translateY(10px)}46%,100%{opacity:1;transform:none}}
@keyframes ap2{0%,52%{opacity:0;transform:translateY(8px)}60%,100%{opacity:1;transform:none}}
@keyframes ap3{0%,66%{opacity:0;transform:translateY(6px)}72%,100%{opacity:1;transform:none}}
@keyframes ap4{0%,78%{opacity:0;transform:translateY(6px)}84%,100%{opacity:1;transform:none}}
.b-t2,.b-held,.b-after,.b-toast{opacity:0;animation-duration:5.5s;animation-fill-mode:forwards;animation-timing-function:ease}
.b-t2{animation-name:bp1}.b-held{animation-name:bp2}.b-after{animation-name:bp3}.b-toast{animation-name:bp4}
@keyframes bp1{0%,6%{opacity:0}14%,100%{opacity:1}}
@keyframes bp2{0%,20%{opacity:0;transform:translateY(12px) scale(.98)}32%,100%{opacity:1;transform:none}}
@keyframes bp3{0%,42%{opacity:0;transform:translateY(8px)}52%,100%{opacity:1;transform:none}}
@keyframes bp4{0%,56%{opacity:0;transform:translateX(30px)}66%,100%{opacity:1;transform:none}}
.toast{position:absolute;z-index:8;right:2.5%;top:9%;width:min(330px,40%);display:flex;gap:11px;align-items:flex-start;background:rgba(252,252,250,.97);backdrop-filter:blur(18px);border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.45;color:#3A403C;box-shadow:0 20px 50px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.06)}
.toast b{font-weight:600;color:#1B1F1D}
.tico{flex:none;width:30px;height:30px;border-radius:8px;background:#146430;display:inline-flex;align-items:center;justify-content:center}
/* hero step 4 phone */
.phonein{position:absolute;z-index:6;right:5%;bottom:64px;opacity:0;animation:phin 7s ease forwards}
@keyframes phin{0%{opacity:0;transform:translateY(40px) rotate(4deg)}9%,100%{opacity:1;transform:rotate(-3deg)}}
.pcheck{position:absolute;z-index:5;left:7%;right:7%;bottom:7%;padding:12px 12px 10px;border-radius:16px;background:#fff;box-shadow:0 20px 40px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.06);opacity:0;animation:pcheck 7s ease forwards}
@keyframes pcheck{0%,10%{opacity:0;transform:translateY(16px)}15%,44%{opacity:1;transform:none}48%,100%{opacity:0;transform:translateY(8px)}}
.pc-t{font-size:12px;font-weight:600}
.pc-in{display:flex;gap:5px;margin-top:7px;border:1px solid #1F6B3A;border-radius:8px;padding:6px 8px;font-size:13px;box-shadow:0 0 0 3px rgba(31,107,58,.12)}
.pc-typed{display:inline-block;overflow:hidden;white-space:nowrap;max-width:0;border-right:2px solid #1B1F1D;animation:pctype 7s steps(8) forwards}
@keyframes pctype{0%,16%{max-width:0}32%{max-width:70px;border-color:#1B1F1D}34%,100%{max-width:70px;border-color:transparent}}
.pc-ok{margin-top:6px;font-size:11px;font-weight:600;color:#1F6B3A;opacity:0;animation:pcok 7s forwards}
@keyframes pcok{0%,34%{opacity:0}37%,100%{opacity:1}}
.tap{position:absolute;z-index:4;left:28%;top:55.2%;width:44px;height:44px;border-radius:50%;background:rgba(20,100,48,.3);opacity:0;transform:translate(-50%,-50%) scale(0);animation:tap 7s ease forwards}
@keyframes tap{0%,46%{transform:translate(-50%,-50%) scale(0);opacity:0}50%{transform:translate(-50%,-50%) scale(1);opacity:1}60%,100%{transform:translate(-50%,-50%) scale(1.8);opacity:0}}
.psheet{position:absolute;z-index:5;left:7%;right:7%;bottom:7%;padding:14px 10px;border-radius:18px;background:rgba(250,250,248,.97);backdrop-filter:blur(14px);box-shadow:0 20px 40px rgba(0,0,0,.3);text-align:center;opacity:0;animation:psheet 7s ease forwards}
@keyframes psheet{0%,56%{opacity:0;transform:translateY(20px)}62%,100%{opacity:1;transform:none}}
.pfa{color:#C1463F;animation:pfa 7s forwards}.pfb{opacity:0;animation:pfb 7s forwards}
@keyframes pfa{0%,76%{opacity:1}80%,100%{opacity:0}}
@keyframes pfb{0%,76%{opacity:0;transform:scale(.6)}82%,100%{opacity:1;transform:none}}
.band4a,.band4b{position:absolute;z-index:5;border-radius:6px;box-shadow:0 0 0 2px #1F6B3A,0 0 0 6px rgba(31,107,58,.15);opacity:0}
.band4a{left:21.1%;top:24.2%;width:77.1%;height:3.4%;animation:b4 5s ease .3s forwards}
.band4b{left:21.1%;top:46%;width:75.3%;height:5%;animation:b4 5s ease 1.1s forwards}
@keyframes b4{0%{opacity:0}12%,100%{opacity:1}}

/* ---------- what TapPass does ---------- */
.six{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-top:40px}
.sixcard{position:relative;display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:start;padding:22px 24px;border-radius:18px;background:#F7F7F5;border:1px solid #ECECE8;text-decoration:none;color:#0E1210;transition:transform .25s,box-shadow .25s,background .25s}
.sixcard:hover{transform:translateY(-3px);background:#fff;box-shadow:0 18px 40px -18px rgba(14,18,16,.25);color:#0E1210}
.sixcard .si{grid-row:span 2;width:40px;height:40px;border-radius:12px;background:#fff;border:1px solid #E6E6E2;display:inline-flex;align-items:center;justify-content:center;color:#146430}
.sixcard .st{font-size:18px;font-weight:500;letter-spacing:-.01em;line-height:1.3}
.sixcard .sd{font-size:14.5px;line-height:1.5;color:#5E6460}
.sixcard .sa{position:absolute;right:20px;top:24px;color:#9A9E9B;transition:transform .25s,color .25s}
.sixcard:hover .sa{transform:translateX(3px);color:#146430}

/* ---------- concerns ---------- */
.worries{display:flex;flex-direction:column;gap:10px}
.worry{padding:15px 18px;border-radius:14px;background:#fff;border:1px solid #E8E8E4;font-size:16.5px;line-height:1.45;color:#6B716D;animation:wq 15s infinite}
.worry .wl{display:block;font-size:12.5px;font-weight:600;margin-bottom:3px}
@keyframes wq{0%,31%{color:#0E1210;border-color:#146430;box-shadow:0 14px 30px -18px rgba(20,100,48,.5)}34%,100%{color:#6B716D;border-color:#E8E8E4;box-shadow:none}}
.ncf{opacity:0;animation:ncf 15s infinite}
.ncf1{opacity:1}
@keyframes ncf{0%{opacity:0}3%,31%{opacity:1}35%,100%{opacity:0}}
.ncr{animation:ncr 15s infinite}
@keyframes ncr{0%,8%{opacity:0}14%,31%{opacity:1}35%,100%{opacity:0}}
.nccap{position:relative;height:42px;margin-top:22px}
.nccap span{position:absolute;left:0;right:0;text-align:center;font-size:15px;font-weight:500;opacity:0;animation:ncf 15s infinite}

/* ---------- approvals ---------- */
.apgrid{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center}
.notes{display:flex;flex-direction:column;gap:10px}
.note{display:flex;gap:11px;align-items:flex-start;background:#fff;border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.45;box-shadow:0 18px 40px -12px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.05);opacity:0;animation:noteIn 14s infinite}
.note b{font-weight:600}
@keyframes noteIn{0%{opacity:0;transform:translateX(-16px)}5%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
.ico{flex:none;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff}
.apcheck{position:absolute;z-index:5;left:6%;right:6%;bottom:6%;padding:13px;border-radius:16px;background:#fff;box-shadow:0 20px 40px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:8px;font-size:12px;opacity:0;animation:apcheck 14s infinite}
@keyframes apcheck{0%,20%{opacity:0;transform:translateY(16px)}24%,58%{opacity:1;transform:none}62%,100%{opacity:0}}
.apcheck b{font-size:12.5px;font-weight:600}
.ap-in{display:flex;gap:5px;border:1px solid #DCDCD8;border-radius:8px;padding:6px 8px;animation:apin 14s infinite}
@keyframes apin{0%,34%{border-color:#DCDCD8}36%,100%{border-color:#1F6B3A;box-shadow:0 0 0 3px rgba(31,107,58,.12)}}
.ap-typed{display:inline-block;overflow:hidden;white-space:nowrap;max-width:0;border-right:2px solid #1B1F1D;animation:aptype 14s steps(8) infinite}
@keyframes aptype{0%,25%{max-width:0}34%{max-width:70px;border-color:#1B1F1D}36%,100%{max-width:70px;border-color:transparent}}
.ap-opt{display:flex;align-items:center;gap:7px;border:1px solid #E6E6E2;border-radius:8px;padding:6px 8px;color:#3A403C}
.ap-opt.pk{animation:pk 14s infinite}
@keyframes pk{0%,44%{border-color:#E6E6E2;background:#fff}47%,100%{border-color:#1F6B3A;background:#F3F9F5}}
.ap-r{flex:none;width:12px;height:12px;border-radius:50%;border:1.5px solid #B9BDBA}
.ap-opt.pk .ap-r{animation:pkr 14s infinite}
@keyframes pkr{0%,44%{background:#fff;border-color:#B9BDBA}47%,100%{background:#146430;border-color:#146430;box-shadow:inset 0 0 0 2px #fff}}
.apsheet{position:absolute;z-index:6;left:6%;right:6%;bottom:6%;padding:14px 10px;border-radius:18px;background:rgba(250,250,248,.97);text-align:center;box-shadow:0 20px 40px rgba(0,0,0,.3);opacity:0;animation:apsheet 14s infinite}
@keyframes apsheet{0%,60%{opacity:0;transform:translateY(16px)}64%,90%{opacity:1;transform:none}94%,100%{opacity:0}}
.apfa{color:#C1463F;animation:apfa 14s infinite}.apfb{opacity:0;animation:apfb 14s infinite}
@keyframes apfa{0%,72%{opacity:1}75%,100%{opacity:0}}
@keyframes apfb{0%,72%{opacity:0;transform:scale(.6)}77%,100%{opacity:1;transform:none}}
.results{display:flex;flex-direction:column;gap:10px}
.res{background:#fff;border-radius:14px;padding:14px 15px;font-size:13.5px;line-height:1.45;box-shadow:0 18px 40px -12px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.05);opacity:0}
.res b{font-weight:600}
.res1{animation:res1 14s infinite}.res2{animation:res2 14s infinite}
@keyframes res1{0%,76%{opacity:0;transform:translateX(16px)}80%,94%{opacity:1;transform:none}98%,100%{opacity:0}}
@keyframes res2{0%,82%{opacity:0;transform:translateX(16px)}86%,94%{opacity:1;transform:none}98%,100%{opacity:0}}
.idrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:26px}
.idc{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;background:#fff;border:1px solid #E8E8E4;border-radius:9px;padding:6px 10px}
.idi{width:20px;height:20px;border-radius:6px;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.soon{font-size:11px;font-weight:600;color:#8A4F08;background:#FBF1DF;border-radius:6px;padding:1px 6px}

/* ---------- routing ---------- */
.router{display:grid;grid-template-columns:minmax(0,1.15fr) 90px minmax(0,1fr);gap:0;align-items:center}
.rq{display:flex;flex-direction:column;gap:12px}
.rreq{display:flex;flex-direction:column;gap:7px;background:#fff;border-radius:12px;padding:11px 13px;font-size:13.5px;line-height:1.4;box-shadow:0 14px 30px -16px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.05);opacity:.35;animation:rreq 12s infinite}
.rreq .rtag{align-self:flex-start;opacity:0;animation:rtag 12s infinite}
.rreq.r2,.rreq.r2 .rtag{animation-delay:4s}.rreq.r3,.rreq.r3 .rtag{animation-delay:8s}
@keyframes rreq{0%,30%{opacity:1;transform:translateX(0)}34%,100%{opacity:.35;transform:none}}
@keyframes rtag{0%,6%{opacity:0;transform:scale(.9)}10%,30%{opacity:1;transform:none}34%,100%{opacity:.6}}
.rhub{display:flex;justify-content:center}
.rhub span{width:58px;height:58px;border-radius:16px;background:#0E1210;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 18px 40px -14px rgba(0,0,0,.5);animation:hubp 4s ease-in-out infinite}
@keyframes hubp{0%,100%{box-shadow:0 18px 40px -14px rgba(0,0,0,.5),0 0 0 0 rgba(111,207,142,.0)}50%{box-shadow:0 18px 40px -14px rgba(0,0,0,.5),0 0 0 8px rgba(111,207,142,.18)}}
.rm{display:flex;flex-direction:column;gap:12px}
.rmod{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:11px 13px;font-size:13.5px;box-shadow:0 14px 30px -16px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.05);animation:rmod 12s infinite}
.rmod.m2{animation-delay:4s}.rmod.m3{animation-delay:8s}
@keyframes rmod{0%,8%{box-shadow:0 14px 30px -16px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.05)}12%,30%{box-shadow:0 14px 30px -16px rgba(0,0,0,.35),0 0 0 2px #146430}34%,100%{box-shadow:0 14px 30px -16px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.05)}}
.rmod b{font-weight:600}
.rmod .rfb{margin-left:auto;font-size:12px;color:#5E6460}
.mlogo{flex:none;width:30px;height:30px;border-radius:8px;background:#F3F3F1;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;color:#3A403C}
.rline{height:2px;background:linear-gradient(90deg,#146430 50%,transparent 50%);background-size:10px 2px;animation:dash2 .8s linear infinite}
@keyframes dash2{to{background-position:10px 0}}
.zloop{animation:zloop 12s cubic-bezier(.45,.05,.25,1) infinite}
@keyframes zloop{0%,12%{transform:scale(1)}32%,78%{transform:scale(var(--zs))}94%,100%{transform:scale(1)}}
.rloop{animation:rloop 12s ease infinite}
@keyframes rloop{0%,30%{opacity:0}36%,74%{opacity:1}80%,100%{opacity:0}}

/* ---------- MCP ---------- */
.mcpgrid{display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1.1fr);gap:0;align-items:center}
.srvs{display:flex;flex-direction:column;gap:10px}
.srv{display:flex;align-items:center;gap:11px;background:#fff;border-radius:12px;padding:11px 13px;font-size:14px;box-shadow:0 14px 30px -16px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.05)}
.srv b{font-weight:600}
.srv small{display:block;font-size:12px;color:#5E6460}
.srv .cnt{margin-left:auto;font-size:12.5px;color:#5E6460}
.sico{flex:none;width:32px;height:32px;border-radius:9px;background:#F3F3F1;font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;color:#3A403C}
.mid{position:relative;height:100%;min-height:300px;display:flex;align-items:center;justify-content:center}
.flowdot{position:absolute;left:0;width:8px;height:8px;border-radius:50%;background:#6FCF8E;box-shadow:0 0 10px rgba(111,207,142,.8);animation:flowdot 3s linear infinite}
@keyframes flowdot{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:calc(100% - 8px);opacity:0}}
.vsrv{background:#fff;border-radius:16px;padding:16px;box-shadow:0 30px 60px -18px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:10px}
.vh{display:flex;align-items:center;gap:10px}
.vh b{font-size:15px;font-weight:600}
.vh code{font-family:inherit;font-size:12.5px;color:#5E6460;background:#F3F3F1;border-radius:6px;padding:2px 7px}
.vtool{display:flex;align-items:center;gap:9px;border:1px solid #ECECE8;border-radius:10px;padding:9px 11px;font-size:13.5px;opacity:0;animation:vtin 10s infinite}
.vtool .from{font-size:12px;color:#5E6460}
.vtool .chipx{margin-left:auto}
.vt2{animation-delay:.8s}.vt3{animation-delay:1.6s}.vt4{animation-delay:2.4s}
@keyframes vtin{0%,8%{opacity:0;transform:translateX(-14px)}14%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
.vgrant{display:flex;align-items:center;gap:8px;font-size:13px;color:#3A403C;padding-top:4px;border-top:1px solid #F0F0EC}

/* ---------- copilot ---------- */
.cop{background:#fff;border-radius:20px;padding:18px;box-shadow:0 40px 80px -24px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:12px}
.coph{display:flex;align-items:center;gap:12px}
.orb{position:relative;flex:none;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#2e7d4c,#0f4a25 70%);display:inline-flex;align-items:center;justify-content:center;animation:breathe 4s ease-in-out infinite}
.orb::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1.5px solid rgba(20,100,48,.35);animation:halo 4s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes halo{0%,100%{opacity:.2;transform:scale(.95)}50%{opacity:.8;transform:scale(1.08)}}
.coph b{display:block;font-size:15.5px;font-weight:600}
.coph span{font-size:12.5px;color:#5E6460}
.prop{border:1px solid #ECECE8;border-radius:14px;padding:13px 14px;display:flex;flex-direction:column;gap:9px;font-size:14px;line-height:1.5;opacity:0;animation:propin 16s infinite}
.prop .pk{font-size:11.5px;font-weight:600;letter-spacing:.02em;color:#5E6460}
.prop .pa{display:flex;gap:8px;flex-wrap:wrap}
.pb{display:inline-flex;align-items:center;font-size:12.5px;font-weight:600;border-radius:8px;padding:6px 11px;background:#F3F3F1;color:#3A403C}
.pb.g{background:#146430;color:#fff}
.p2{animation-delay:1.2s}.p3{animation-delay:2.4s}
@keyframes propin{0%,4%{opacity:0;transform:translateY(12px)}10%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
.typing{display:inline-flex;gap:4px;padding:10px 12px;border-radius:12px;background:#F3F3F1;align-self:flex-start}
.typing i{width:6px;height:6px;border-radius:50%;background:#9A9E9B;animation:tdot 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes tdot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-2px)}}
.applied{display:none}
.p1 .pb.g{animation:clk 16s infinite}
@keyframes clk{0%,40%{background:#146430}44%,92%{background:#0E1210}}
.p1 .done1{font-size:12.5px;font-weight:600;color:#146430;opacity:0;animation:done1 16s infinite}
@keyframes done1{0%,43%{opacity:0}47%,92%{opacity:1}97%,100%{opacity:0}}
.modes{display:flex;flex-direction:column;gap:10px}
.mode{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;border:1px solid #E8E8E4;background:#fff;font-size:14px;line-height:1.45;color:#5E6460}
.mode b{font-size:15px;font-weight:600;color:#0E1210}
.mi{flex:none;width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}
.mw .mi{background:#F1F1EE;color:#5E6460}.mh .mi{background:#FBF1DF;color:#B4690E}.me .mi{background:#EAF4ED;color:#1F6B3A}
.mode .ag{margin-left:auto;display:flex;gap:4px}
.mode .ag span{font-size:11px;font-weight:600;border-radius:6px;padding:2px 6px;background:#F3F3F1;color:#3A403C}

/* ---------- skills hub ---------- */
.hub{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:18px;align-items:center}
.teams{display:flex;flex-direction:column;gap:10px}
.team{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:11px 13px;font-size:13.5px;box-shadow:0 14px 30px -16px rgba(0,0,0,.3),0 0 0 1px rgba(0,0,0,.05)}
.team b{font-weight:600}
.team small{display:block;font-size:12px;color:#5E6460}
.tico{flex:none}
.lib{background:#fff;border-radius:18px;padding:16px;box-shadow:0 40px 80px -24px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:8px}
.libh{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px;font-weight:600;padding:2px 2px 6px}
.sk{display:flex;align-items:center;gap:10px;border:1px solid #F0F0EC;border-radius:10px;padding:9px 11px;font-size:13.5px}
.sk .v{font-size:12px;color:#5E6460}
.sk .chipx{margin-left:auto}
.sk.up{animation:skup 12s infinite}
@keyframes skup{0%,55%{border-color:#F0F0EC;background:#fff}60%,90%{border-color:#146430;background:#F3F9F5}96%,100%{border-color:#F0F0EC;background:#fff}}
.sk.up .vv{display:inline-grid}
.sk.up .vv span{grid-area:1/1}
.sk.up .v2{animation:v2 12s infinite}.sk.up .v3{opacity:0;animation:v3 12s infinite}
@keyframes v2{0%,55%{opacity:1}58%,100%{opacity:0}}
@keyframes v3{0%,55%{opacity:0}58%,96%{opacity:1}100%{opacity:0}}
.loopc{display:flex;flex-direction:column;gap:10px}
.lstep{display:flex;gap:10px;align-items:flex-start;background:#fff;border-radius:12px;padding:11px 13px;font-size:13.5px;line-height:1.45;box-shadow:0 14px 30px -16px rgba(0,0,0,.3),0 0 0 1px rgba(0,0,0,.05);animation:lst 12s infinite}
.lstep b{font-weight:600}
.ls2{animation-delay:3s}.ls3{animation-delay:6s}.ls4{animation-delay:9s}
@keyframes lst{0%,22%{box-shadow:0 14px 30px -16px rgba(0,0,0,.3),0 0 0 2px #146430}26%,100%{box-shadow:0 14px 30px -16px rgba(0,0,0,.3),0 0 0 1px rgba(0,0,0,.05)}}
.lnum{flex:none;width:22px;height:22px;border-radius:7px;background:#EAF4ED;color:#146430;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}

/* ---------- insight & evidence ---------- */
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.stat{background:#F7F7F5;border-radius:18px;padding:22px}
.stat .n{font-size:clamp(36px,3.6vw,48px);letter-spacing:-.04em;line-height:1}
.stat .n small{font-size:16px;letter-spacing:0;color:#5E6460;margin-left:6px}
.stat .l{margin-top:10px;font-size:14.5px;line-height:1.45;color:#4C524E}
.stat .bar{margin-top:14px;height:6px;border-radius:6px;background:#E6E6E2;overflow:hidden}
.stat .bar i{display:block;height:100%;border-radius:6px;background:#146430;transform-origin:left;animation:growx 1.6s ease both}
@keyframes growx{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.split{display:flex;height:6px;border-radius:6px;overflow:hidden;margin-top:14px;gap:2px}
.split i{display:block;height:100%;transform-origin:left;animation:growx 1.6s ease both}
.evlist{display:flex;flex-direction:column}
.ev{display:flex;align-items:center;gap:14px;padding:15px 0;border-top:1px solid #ECECE9;font-size:15px}
.ev b{font-weight:500}
.ev small{display:block;font-size:13px;color:#5E6460}
.ev .dl{margin-left:auto;font-size:13px;font-weight:500;border:1px solid #DCDCD8;border-radius:9px;padding:6px 11px;white-space:nowrap}
.fw{display:grid;grid-template-columns:110px 1fr 40px;align-items:center;gap:12px;font-size:14px;padding:7px 0}
.fw .tr{height:6px;border-radius:6px;background:#E6E6E2;overflow:hidden}
.fw .tr i{display:block;height:100%;background:#146430;transform-origin:left;animation:growx 1.4s ease both}
.fw span:last-child{text-align:right;color:#5E6460}

/* ---------- identity + authority ---------- */
.ichain{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;align-items:stretch}
.inode{position:relative;display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #E8E8E4;border-radius:16px;padding:16px;margin-right:22px;opacity:.35;animation:inode 12s infinite}
.inode:last-child{margin-right:0}
.inode::after{content:'';position:absolute;right:-23px;top:50%;width:22px;height:2px;background:#D6D6D2}
.inode:last-child::after{display:none}
.inode .k{font-size:12px;font-weight:600;color:#146430}
.inode b{font-size:15.5px;font-weight:600}
.inode span{font-size:13px;line-height:1.45;color:#5E6460}
.in2{animation-delay:1.2s}.in3{animation-delay:2.4s}.in4{animation-delay:3.6s}.in5{animation-delay:4.8s}
@keyframes inode{0%{opacity:.35;transform:translateY(6px)}6%,86%{opacity:1;transform:none;border-color:#E8E8E4}92%,100%{opacity:.35}}


/* ---------- v11 ---------- */
.six{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:44px}
.sixcard{display:flex;flex-direction:column;gap:8px;padding:26px 26px 22px;border-radius:20px;background:#F7F7F5;border:1px solid #ECECE8;text-decoration:none;color:#0E1210;transition:transform .25s,box-shadow .25s,background .25s}
.sixcard:hover{transform:translateY(-3px);background:#fff;box-shadow:0 20px 44px -20px rgba(14,18,16,.28);color:#0E1210}
.sk-k{font-size:13px;font-weight:600;color:#146430}
.sixcard .st{font-size:21px;font-weight:500;letter-spacing:-.02em;line-height:1.25}
.sixcard .sd{font-size:15px;line-height:1.55;color:#5E6460}
.mini{margin-top:auto;padding-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid #ECECE8}
.mq{font-size:13px;color:#3A403C;font-style:italic}
.marr2{color:#9A9E9B}
.wq-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.wqc{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid #DCDCD8;background:#fff;font:inherit;font-size:14.5px;color:#3A403C;cursor:pointer;transition:all .2s}
.wqc:hover{border-color:#0E1210}
.wqc.on{background:#0E1210;border-color:#0E1210;color:#fff}
.wpanel{margin-top:20px;background:#fff;border-radius:20px;padding:22px;box-shadow:0 30px 60px -28px rgba(10,19,14,.35),0 0 0 1px rgba(15,22,18,.06)}
.winput{display:flex;align-items:center;gap:12px;border:1px solid #DCDCD8;border-radius:14px;padding:14px 16px;font-size:18px;color:#0E1210}
.wtyped{display:inline-block;overflow:hidden;white-space:nowrap;max-width:0;border-right:2px solid #0E1210;animation:wtype 1.6s steps(48) forwards,caret 1s step-end 1.6s infinite}
@keyframes wtype{to{max-width:100%}}
@keyframes caret{50%{border-color:transparent}}
.wgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.wcol{display:flex;flex-direction:column;gap:10px;background:#F7F7F5;border-radius:14px;padding:16px;opacity:0;animation:wcol .5s ease forwards}
.wc1{animation-delay:1.7s}.wc2{animation-delay:2.2s}.wc3{animation-delay:2.7s}
@keyframes wcol{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.wk{font-size:12.5px;font-weight:600;color:#5E6460}
.wconcern{display:flex;align-items:center;gap:10px;font-size:17px}
.wconcern b{font-weight:600}
.wkey{font-size:12px;font-weight:600;color:#5B3FA0;background:#F1ECFA;border-radius:6px;padding:3px 7px}
.wagent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4}
.wagent b{font-weight:600}
.wrule{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45}
.wrule > span:first-child{flex:none}
.wfoot{display:flex;align-items:center;gap:8px;font-size:13px;color:#4C524E;margin-top:4px}
.wadd{align-self:flex-start;display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:10px;background:#146430;color:#fff;font-size:13.5px;font-weight:600}
.jobs{display:flex;flex-direction:column;gap:12px}
.job{display:flex;flex-direction:column;gap:3px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-radius:16px;padding:16px 18px;font-size:14px;line-height:1.5;color:#5E6460;box-shadow:0 18px 40px -20px rgba(0,0,0,.45);animation:job 16s infinite}
.job b{font-size:16.5px;font-weight:600;color:#0E1210}
.jk{font-size:12px;font-weight:600;color:#146430}
.j2{animation-delay:4s}.j3{animation-delay:8s}.j4{animation-delay:12s}
@keyframes job{0%,22%{box-shadow:0 18px 40px -20px rgba(0,0,0,.45),0 0 0 2px #146430}26%,100%{box-shadow:0 18px 40px -20px rgba(0,0,0,.45),0 0 0 0 transparent}}
.prop{animation:prophl 16s infinite;opacity:1}
.p2{animation-delay:4s}.p3{animation-delay:8s}.p4{animation-delay:12s}
@keyframes prophl{0%,22%{border-color:#146430;background:#F7FBF8}26%,100%{border-color:#ECECE8;background:#fff}}
.p1 .done1{animation:done1b 16s infinite}
@keyframes done1b{0%,12%{opacity:0}15%,24%{opacity:1}28%,100%{opacity:0}}
.p1 .pb.g{animation:clkb 16s infinite}
@keyframes clkb{0%,11%{transform:none}12%{transform:scale(.94)}13%,100%{transform:none}}
.rgrid{display:grid;grid-template-columns:minmax(0,1.2fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,.9fr);align-items:stretch}
.rcol{display:flex;flex-direction:column;gap:10px}
.rk{font-size:13px;font-weight:600;color:#5E6460}
.rbox{position:relative;flex:1;min-height:150px;background:#fff;border-radius:16px;box-shadow:0 18px 40px -22px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.05)}
.rf{position:absolute;inset:0;padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:14.5px;line-height:1.5;opacity:0;animation:rf 15s infinite}
.rf b{font-weight:600}
.rf2{animation-delay:5s}.rf3{animation-delay:10s}
@keyframes rf{0%{opacity:0;transform:translateY(6px)}3%,30%{opacity:1;transform:none}34%,100%{opacity:0}}
.rmodel .rf{justify-content:center;align-items:center;text-align:center}
.rmodel .mlogo{width:44px;height:44px;border-radius:12px;font-size:14px}
.rarr{display:flex;align-items:center;justify-content:center}
.rarr i{display:block;width:100%;height:2px;background:linear-gradient(90deg,#146430 50%,transparent 50%);background-size:8px 2px;animation:dash2 .8s linear infinite}
.rstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}
.rstat{background:#fff;border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;font-size:14px;color:#5E6460}
.rstat b{font-size:26px;font-weight:500;letter-spacing:-.03em;color:#0E1210}
.rep{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,2fr);gap:20px;margin-top:44px;align-items:stretch}
.replist{display:flex;flex-direction:column;gap:6px}
.rtab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:14px 16px;border-radius:14px;border:1px solid transparent;background:transparent;font:inherit;color:#5E6460;cursor:pointer;min-height:44px;transition:background .2s,border-color .2s}
.rtab:hover{background:#F7F7F5}
.rtab.on{background:#fff;border-color:#E2E2DE;box-shadow:0 14px 30px -18px rgba(0,0,0,.3);color:#0E1210}
.rtab .rt{font-size:16px;font-weight:600;color:inherit}
.rtab .rq{font-size:13.5px;color:#646A66}
.reppanel{background:#F7F7F5;border-radius:20px;padding:clamp(22px,3vw,36px);min-height:380px}
.rpp{display:flex;flex-direction:column;gap:18px;animation:lay .45s ease both}
.rph{font-size:13px;font-weight:600;color:#146430}
.big{font-size:clamp(40px,4vw,56px);letter-spacing:-.04em;line-height:1}
.big small{font-size:17px;letter-spacing:0;color:#5E6460;margin-left:8px}
.gauge{display:flex;align-items:center;gap:22px}
.garc{animation:garc 1.4s ease both}
@keyframes garc{from{stroke-dasharray:0 100}}
.bars{display:flex;flex-direction:column;gap:12px;max-width:620px}
.brow{display:grid;grid-template-columns:150px 1fr 54px;align-items:center;gap:14px;font-size:14.5px}
.brow span:last-child{text-align:right;color:#5E6460}
.btr{height:8px;border-radius:8px;background:#E6E6E2;overflow:hidden}
.btr i{display:block;height:100%;border-radius:8px;background:#146430;transform-origin:left;animation:growx 1.1s ease both}
.split3{display:flex;gap:3px;height:12px;border-radius:8px;overflow:hidden;max-width:620px}
.split3 i{display:block;transform-origin:left;animation:growx 1.1s ease both}
.legend{display:flex;flex-wrap:wrap;gap:18px;font-size:14px;color:#3A403C}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.legend b{font-weight:600}
.rnote{font-size:14px;color:#5E6460;border-top:1px solid #E6E6E2;padding-top:14px}
@media (max-width:1000px){.six{grid-template-columns:1fr 1fr}.wgrid{grid-template-columns:1fr}.rgrid{grid-template-columns:1fr}.rarr{height:22px}.rarr i{width:2px;height:100%;background:linear-gradient(180deg,#146430 50%,transparent 50%);background-size:2px 8px}.rbox{min-height:130px}.rstats{grid-template-columns:1fr 1fr}.rep{grid-template-columns:1fr}.replist{flex-direction:row;flex-wrap:wrap}.rtab .rq{display:none}}
@media (max-width:640px){.six{grid-template-columns:1fr}.wrap{padding:0 20px}}

/* ---------- v12 ---------- */
.nocc{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:14px;color:#4C524E}
.pl{display:inline-flex;align-items:center;font-size:13px;font-weight:500;border-radius:999px;padding:6px 12px;background:#fff;border:1px solid #E2E2DE;color:#2A302C;white-space:nowrap}
.pl-q{font-style:italic}
.pl-g{background:#EAF4ED;border-color:#CFE5D6;color:#146430}
.pl-a{background:#FBF1DF;border-color:#F0DDB8;color:#8A4F08}
.pl-p{background:#F1ECFA;border-color:#E0D5F3;color:#5B3FA0}
.mini{gap:10px;border-top:0;padding-top:18px}
.flow{position:relative;width:36px;height:2px;background:#E2E2DE;border-radius:2px;overflow:hidden;flex:none}
.flow i{position:absolute;left:-10px;top:0;width:10px;height:2px;background:#146430;animation:flowi 4.2s ease-in-out infinite}
@keyframes flowi{0%,8%{left:-10px}28%{left:36px}100%{left:36px}}
.pop{display:inline-flex;animation:pop 4.2s ease infinite}
@keyframes pop{0%,26%{opacity:.25;transform:scale(.92)}34%{opacity:1;transform:scale(1.06)}40%,88%{opacity:1;transform:scale(1)}100%{opacity:.25;transform:scale(.92)}}
.sixcard:hover .pop{animation-duration:2.4s}
.secthead > div:only-child{max-width:980px}
.jic{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#EAF4ED;color:#146430;margin-bottom:6px;transform-origin:50% 80%;animation:jwig 16s infinite}
.j2 .jic{animation-delay:4s;background:#F1ECFA;color:#5B3FA0}.j3 .jic{animation-delay:8s;background:#FBF1DF;color:#8A4F08}.j4 .jic{animation-delay:12s;background:#E8F1FB;color:#0F6CBD}
@keyframes jwig{0%{transform:rotate(0)}3%{transform:rotate(-12deg)}6%{transform:rotate(10deg)}9%{transform:rotate(-6deg)}12%,100%{transform:rotate(0)}}
.rtabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.rtb{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px 0 8px;border-radius:999px;border:1px solid #DCDCD8;background:#fff;font:inherit;font-size:14.5px;color:#3A403C;cursor:pointer;transition:all .2s}
.rtb:hover{border-color:#0E1210}
.rtb.on{background:#0E1210;border-color:#0E1210;color:#fff}
.rtg{font-size:11.5px;font-weight:600;border-radius:999px;padding:3px 9px;background:#F1ECFA;color:#5B3FA0}
.rtg-g{background:#EAF4ED;color:#146430}
.rtb.on .rtg{background:rgba(255,255,255,.16);color:#fff}
.rfx{position:absolute;inset:0;padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:14.5px;line-height:1.5}
.rfx b{font-weight:600}
.rqt{font-size:15px;line-height:1.5}
.rmodel .rfx{justify-content:center;align-items:center;text-align:center}
.rgo .rbox{opacity:.4;animation:rbx .5s ease forwards}
.rgo .rb0{animation-delay:0s}.rgo .rb1{animation-delay:.5s}.rgo .rb2{animation-delay:1s}.rgo .rb3{animation-delay:1.5s}
@keyframes rbx{to{opacity:1;box-shadow:0 18px 40px -22px rgba(0,0,0,.35),0 0 0 2px #146430}}
.rgo .rb0{animation-name:rbx0}
@keyframes rbx0{to{opacity:1}}
.rgo .rb2.skip{animation-name:rbskip}
@keyframes rbskip{to{opacity:.55}}
.rgo .rarr i{opacity:0;animation:rai .4s ease forwards}
.rgo .rarr:nth-child(2) i{animation-delay:.3s}.rgo .rarr:nth-child(4) i{animation-delay:.8s}.rgo .rarr:nth-child(6) i{animation-delay:1.3s}
@keyframes rai{to{opacity:1}}
.idwrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:28px;margin-top:44px;align-items:center}
.idside{display:flex;flex-direction:column;gap:14px}
.idgroup{background:#F7F7F5;border-radius:18px;padding:20px 22px;display:flex;flex-direction:column}
.idg-h{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.idg-h b{font-size:18px;font-weight:600}
.idg-h > span:last-child{font-size:14px;color:#646A66}
.idg-i{width:36px;height:36px;border-radius:11px;background:#fff;border:1px solid #E6E6E2;display:inline-flex;align-items:center;justify-content:center;color:#146430}
.idl{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:10px 0;border-top:1px solid #E8E8E4;font-size:14.5px;line-height:1.45;color:#3A403C}
.idk{font-size:13px;font-weight:600;color:#5E6460}
.pass{position:relative;background:#fff;border-radius:22px;padding:22px;box-shadow:0 40px 80px -30px rgba(10,19,14,.4),0 0 0 1px rgba(15,22,18,.07);overflow:hidden}
.pass::before{content:'';position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#146430,#6FCF8E)}
.pass-top{display:flex;align-items:center;gap:12px}
.pass-top b{font-size:16px;font-weight:600}
.pass-sub{font-size:13px;color:#5E6460}
.pass-mark{width:38px;height:38px;border-radius:11px;background:#0E1210;display:inline-flex;align-items:center;justify-content:center}
.pass-id{margin-left:auto;font-size:12.5px;color:#5E6460;background:#F3F3F1;border-radius:7px;padding:4px 9px}
.pass-act{display:flex;flex-direction:column;gap:3px;margin-top:18px;padding:16px;border-radius:14px;background:#F7F7F5}
.pass-act b{font-size:20px;font-weight:500;letter-spacing:-.02em}
.pass-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.pf{display:flex;flex-direction:column;gap:3px;border:1px solid #ECECE8;border-radius:14px;padding:14px;font-size:13px;color:#5E6460;opacity:0;animation:pf .5s ease forwards}
.pf b{font-size:15.5px;font-weight:600;color:#0E1210}
.pk2{font-size:12px;font-weight:600;color:#146430}
.f1{animation-delay:.3s}.f2{animation-delay:.7s}.f3{animation-delay:1.1s}.f4{animation-delay:1.5s}
@keyframes pf{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pass-foot{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13.5px;color:#4C524E}
.stamp{position:absolute;right:26px;bottom:52px;padding:8px 14px;border:2.5px solid #146430;border-radius:10px;color:#146430;font-weight:700;font-size:15px;letter-spacing:.12em;transform:rotate(-8deg) scale(1.6);opacity:0;animation:stamp .45s cubic-bezier(.2,1.6,.4,1) 2.2s forwards}
@keyframes stamp{to{opacity:.9;transform:rotate(-8deg) scale(1)}}
@media (max-width:1000px){.idwrap{grid-template-columns:1fr}.pass-grid{grid-template-columns:1fr}.stamp{bottom:auto;top:70px}}

/* ---------- v13 ---------- */
.jrow{display:inline-flex;align-items:center;gap:7px}
.jic,.j2 .jic,.j3 .jic,.j4 .jic{width:auto;height:auto;background:none !important;color:#646A66 !important;margin:0;border-radius:0;animation:jwig 16s infinite}
.jk{color:#5E6460}
.works{margin-top:28px;padding:28px 0 6px;border-top:1px solid #EFEFEC}
.works-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px}
.works-h b{font-size:20px;font-weight:500;letter-spacing:-.02em}
.works-h span{font-size:14.5px;color:#646A66}
.mq-row{position:relative;overflow:hidden;margin-top:16px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-track{display:flex;gap:10px;width:max-content;animation:mq 40s linear infinite}
.mq-row.rev .mq-track{animation-direction:reverse;animation-duration:46s}
.mq-row:hover .mq-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.lg{display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border-radius:999px;background:#F7F7F5;border:1px solid #ECECE8;font-size:14.5px;font-weight:500;color:#2A302C;white-space:nowrap}
.lg i{font-style:normal;width:22px;height:22px;border-radius:7px;background:#fff;border:1px solid #E6E6E2;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;color:#5E6460}
.lg.k{background:#fff}
.lg img{width:22px;height:22px;border-radius:6px;object-fit:contain;background:#fff;flex:none}
/* scroll reveal */
@keyframes rv{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){.rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% cover 20%}}
.foot a{color:#9DA39F;text-decoration:none;font-size:14px}
.foot a:hover{color:#F2F2F0}
/* replay */
.rpgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}
.rpc{background:#fff;border:1px solid #E8E8E4;border-radius:18px;padding:24px;box-shadow:0 20px 50px -30px rgba(14,18,16,.25);display:flex;flex-direction:column;gap:14px;min-width:0}
.rpk{font-size:13px;font-weight:500;color:#146430}
.rprow{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:#F7F7F5;border:1px solid #EEEEEA}
.rptime{font-variant-numeric:tabular-nums;font-size:13px;color:#646A66}
.rpwho{display:flex;flex-direction:column;flex:1;min-width:0;font-size:14px}
.rpwho span{color:#5E6460;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip-a{background:#FBF1E2;border-color:#F0D9B5;color:#7A4A0C}
.rpmeta{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;color:#646A66}
.rpmeta b{color:#0E1210;font-weight:500}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}
.rpact{position:relative;height:40px}
.rpbtn,.rpstate{position:absolute;left:0;top:0;height:40px;display:inline-flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap}
.rpbtn{padding:0 16px;border-radius:999px;background:#0E1210;color:#fff;font-weight:500;animation:rpBtn 8s infinite}
.rps1{color:#5E6460;opacity:0;animation:rpS1 8s infinite}
.rps2{color:#0E1210;opacity:0;animation:rpS2 8s infinite}
.rps2 b{color:#146430;font-weight:600}
.spin{width:14px;height:14px;border-radius:50%;border:2px solid #D6D9D6;border-top-color:#146430;animation:rpSpin .8s linear infinite}
.rpcmp{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;opacity:.35;animation:rpCmp 8s infinite}
.rpcmp > div:not(.rpeq){padding:12px 14px;border-radius:12px;border:1px solid #EEEEEA;background:#FAFAF8;display:flex;flex-direction:column;gap:3px;font-size:14px}
.rpk2{font-size:12px;color:#646A66}
.rpeq{font-size:22px;color:#146430;font-weight:500}
@keyframes rpBtn{0%,18%{opacity:1;transform:scale(1)}21%{transform:scale(.95)}24%,100%{opacity:0;transform:scale(1)}}
@keyframes rpS1{0%,24%{opacity:0}28%,50%{opacity:1}54%,100%{opacity:0}}
@keyframes rpS2{0%,54%{opacity:0;transform:translateY(4px)}58%,94%{opacity:1;transform:none}100%{opacity:0}}
@keyframes rpCmp{0%,54%{opacity:.35}60%,94%{opacity:1}100%{opacity:.35}}
@keyframes rpSpin{to{transform:rotate(360deg)}}
.rpdraft{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:15px}
.rpdraft b{font-weight:500}
.rpsub{font-size:13px;color:#646A66}
.rpbars{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.rpb{display:grid;grid-template-columns:96px 1fr 40px;gap:12px;align-items:center;font-size:14px}
.rpb b{text-align:right;font-weight:500;font-variant-numeric:tabular-nums}
.rptr{height:10px;border-radius:99px;background:#EFEFEC;overflow:hidden;display:block}
.rptr i{display:block;height:100%;border-radius:99px;background:#146430;min-width:0;transform-origin:left;animation:rpGrow 1.4s cubic-bezier(.2,.7,.2,1) both}
.rpi2{min-width:6px !important;animation-delay:.3s !important}
@keyframes rpGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.rpnote{font-size:13px;color:#646A66;margin-top:auto;padding-top:6px;border-top:1px dashed #E6E6E2}
@media (max-width:900px){.rpgrid{grid-template-columns:1fr}}
/* IT / OT / business */
.floors{margin-top:28px;padding:22px 24px;border-radius:20px;border:1px solid #ECECE8;display:flex;flex-direction:column;gap:16px}
.fl-h{font-size:15px;font-weight:500;color:#0E1210}
.fl-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fl{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5}
.fl > span:last-child{display:flex;flex-direction:column;gap:2px}
.fl > span:last-child > span{color:#5E6460}
.fl b{font-weight:500}
.fl-i{flex:none;width:32px;height:32px;border-radius:9px;background:#F3F3F1;color:#646A66;display:inline-flex;align-items:center;justify-content:center}
@media (max-width:900px){.fl-g{grid-template-columns:1fr}}
/* v15: nav, faq, footer, a11y */
html{scroll-behavior:smooth}
section[id],header[id]{scroll-margin-top:84px}
:focus-visible{outline:2px solid #146430;outline-offset:3px;border-radius:6px}
.skiplink{position:absolute;left:12px;top:-60px;z-index:60;background:#0E1210;color:#fff;padding:10px 16px;border-radius:10px;text-decoration:none;font-size:14px;transition:top .2s}
.skiplink:focus{top:12px;color:#fff}
.topnav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid #EFEFEC}
.nav-in{display:flex;align-items:center;gap:28px;min-height:68px}
.nav-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#0E1210;flex:none}
.nav-main{list-style:none;display:flex;align-items:center;gap:4px;margin:0 0 0 12px;padding:0;flex:1}
.nav-main > li{position:relative}
.nav-main .navlink,.dd-b{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border-radius:10px;font:inherit;font-size:15px;color:#2A302C;background:none;border:0;cursor:pointer;text-decoration:none;transition:background .2s,color .2s}
.nav-main .navlink:hover,.dd:hover .dd-b,.dd:focus-within .dd-b{background:#F3F3F1;color:#0E1210}
.chev{transition:transform .25s;color:#9A9E9B}
.dd:hover .chev,.dd:focus-within .chev{transform:rotate(180deg)}
.dd-p{position:absolute;left:0;top:calc(100% + 10px);min-width:300px;display:flex;gap:8px;padding:12px;background:#fff;border:1px solid #ECECE8;border-radius:18px;box-shadow:0 30px 60px -24px rgba(14,18,16,.28),0 2px 6px rgba(14,18,16,.04);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s}
.dd-p::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.dd:hover .dd-p,.dd:focus-within .dd-p{opacity:1;visibility:visible;transform:none}
.dd-wide{min-width:760px}
.dd-col{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.dd-side{flex:0 0 180px;border-left:1px solid #F0F0EC;padding-left:12px}
.dd-h{font-size:12px;font-weight:500;color:#6B716D;padding:6px 12px 4px;letter-spacing:.01em}
.dd-p a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;text-decoration:none;color:#0E1210;transition:background .15s}
.dd-p a:hover{background:#F5F5F3;color:#0E1210}
.dd-p a b{font-weight:500;font-size:14.5px}
.dd-p a span{font-size:13px;color:#646A66;line-height:1.4}
.dd-p a.dd-s{font-size:14px;padding:8px 12px}
.nav-cta{display:flex;align-items:center;gap:10px;flex:none}
.nav-cta .btn,.nav-cta .btn-ghost{min-height:40px;font-size:14.5px;padding:0 16px;border-radius:11px}
.nav-sign{color:#2A302C;text-decoration:none;font-size:15px;padding:0 10px}
.nav-sign:hover{color:#146430}
.mnav{display:none;margin-left:auto}
.mnav summary{list-style:none;position:relative;width:44px;height:44px;border-radius:12px;border:1px solid #E4E4E0;cursor:pointer}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary span{position:absolute;left:12px;width:18px;height:1.6px;background:#0E1210;border-radius:2px;transition:transform .25s,top .25s}.mnav summary span:first-child{top:18px}.mnav summary span:last-child{top:24px}
.mnav[open] summary span:first-child{top:21px;transform:rotate(45deg)}
.mnav[open] summary span:last-child{top:21px;transform:rotate(-45deg)}
.mnav-p a.btn{color:#fff;border-bottom:0}
.mnav-p{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #ECECE8;padding:12px 20px 24px;display:flex;flex-direction:column;max-height:calc(100vh - 68px);overflow:auto;box-shadow:0 30px 50px -30px rgba(14,18,16,.3)}
.mnav-p a{padding:11px 0;text-decoration:none;color:#0E1210;font-size:16px;border-bottom:1px solid #F3F3F1}
.mnav-p .dd-h{padding:18px 0 4px}
@media (max-width:1180px){.nav-sign,.nav-talk{display:none}}
@media (max-width:980px){.nav-main,.nav-cta{display:none}.mnav{display:block}}
/* FAQ */
.faqgrid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.faq{border-top:1px solid #ECECE8}
.faq details{border-bottom:1px solid #ECECE8}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:18px;font-weight:500;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:#F3F3F1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6 2v8M2 6h8' stroke='%230E1210' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin:0;padding:0 48px 24px 0;font-size:15.5px;line-height:1.65;color:#5E6460;animation:faqIn .35s ease}
@keyframes faqIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (max-width:900px){.faqgrid{grid-template-columns:1fr;gap:28px}}
/* footer */
.foot-g{display:grid;grid-template-columns:1.6fr repeat(5,1fr);gap:32px;padding-top:72px;padding-bottom:48px}
.foot-brand{display:flex;flex-direction:column;gap:16px}
.foot-c{display:flex;flex-direction:column;gap:10px;font-size:14px}
.foot-c > span{font-weight:500;color:#F2F2F0;margin-bottom:4px}
.foot a{color:#9DA39F;text-decoration:none;transition:color .2s}
.foot a:hover{color:#fff}
.backed{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;color:#7F8682;margin-top:4px}
.backed img{width:28px;height:28px;border-radius:7px;background:#fff;object-fit:contain;padding:2px}
.foot-b{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:22px;padding-bottom:36px;font-size:13px;color:#7F8682;border-top:1px solid rgba(242,242,240,.1)}
.foot-legal{display:flex;gap:20px}
@media (max-width:1000px){.foot-g{grid-template-columns:1fr 1fr 1fr}.foot-brand{grid-column:1/-1}}
@media (max-width:560px){.foot-g{grid-template-columns:1fr 1fr}}
/* proof line under hero CTAs */
.proof{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:14px;font-size:13px;color:#646A66}
.proof img{width:22px;height:22px;border-radius:6px;object-fit:contain;border:1px solid #ECECE8;background:#fff}
.proof span.pi{display:inline-flex;align-items:center;gap:8px}


.trydot{width:6px;height:6px;border-radius:50%;background:#146430;display:inline-block;margin-left:2px;animation:goPulse 2.4s infinite}
@keyframes goPulse{0%,100%{box-shadow:0 0 0 0 rgba(20,100,48,.35)}50%{box-shadow:0 0 0 8px rgba(20,100,48,0)}}

/* v21 phone pass */
@media (max-width:640px){
.wrap{padding:0 20px}
section[style*="padding-top: 1"]{padding-top:96px!important}
header[style*="padding-top: 80px"]{padding-top:36px!important}
.photo[style*="min-height: 800px"]{min-height:0!important;padding:26px 10px 18px!important;margin-left:-8px;margin-right:-8px}
.laptop{max-width:100%!important}
.base{margin:0 -4%}
.nocc{flex-wrap:wrap;row-gap:6px}
.nocc span[style*="C9CCC9"]{display:none}
.nocc a{flex-basis:100%;padding-left:26px}
header div[style*="gap: 12px"] > .btn,header div[style*="gap: 12px"] > .btn-ghost{flex:1 1 100%;justify-content:center}
.secthead{gap:18px}
.lead{font-size:16.5px}
.display.h2{font-size:32px}
}

/* v22 phone polish */
.nav-mcta{display:none}
@media (max-width:980px){.nav-mcta{display:inline-flex;min-height:38px;padding:0 14px;font-size:14px;border-radius:11px;margin-left:auto;margin-right:8px}.mnav{margin-left:0}}
@media (max-width:640px){
.six,.quote3{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px!important;margin-left:-18px;margin-right:-18px;padding:4px 18px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.six::-webkit-scrollbar,.quote3::-webkit-scrollbar{display:none}
.six > *,.quote3 > *{flex:0 0 84%;scroll-snap-align:start;scroll-margin-left:18px}
.six > *:hover{transform:none}
.apgrid .phone{justify-self:center}
.rpact{height:auto;min-height:44px}
.rps2{white-space:normal;right:0;line-height:1.35}
.foot-b{flex-direction:column;gap:14px}
.foot-g{gap:28px 20px;padding-top:56px}
.wpanel{padding:16px}
.chain .t{font-size:12px}
.faq summary{font-size:16.5px;padding:18px 0}
.faq p{padding-right:0}
.winput{font-size:16px;padding:12px 14px}
.wtyped{white-space:normal;max-width:none;animation:none;border-right:0}
.wc1{animation-delay:.3s}.wc2{animation-delay:.6s}.wc3{animation-delay:.9s}
}
@media (prefers-reduced-motion: reduce){.rpbtn{display:none}.rps2,.rpcmp{opacity:1 !important}.rps1{display:none}}

@media (prefers-reduced-motion: reduce){*{animation:none !important}.mq-track{flex-wrap:wrap;width:auto}.pf,.stamp,.rgo .rbox,.rgo .rarr i,.pop{opacity:1 !important}.stamp{transform:rotate(-8deg) !important}.wtyped{max-width:100% !important;border:0 !important}.wcol,.rf1{opacity:1 !important}.a-user,.a-who,.a-text,.a-t1,.a-t2,.b-t2,.b-held,.b-after,.b-toast,.phonein,.note,.res,.prop,.vtool,.inode,.ph1{opacity:1 !important}.typed,.cur,.rp0,.pcheck,.psheet,.tap,.apcheck,.apsheet,.ncf:not(.ncf1),.nccap span:not(:first-child),.ncr{display:none !important}.ncf1,.nccap span:first-child{opacity:1 !important}}
@media (max-width:900px){.apgrid,.router,.mcpgrid,.hub,.ichain{grid-template-columns:1fr}.mid{min-height:40px}.rhub{padding:10px 0}.inode{margin-right:0;margin-bottom:12px}.inode::after{display:none}.chain .s{display:none}.chain .t{font-size:12.5px}.chat-side{display:none}.phonein .phone{width:140px;border-radius:28px;padding:7px}.phonein{right:3%;bottom:40px}.psheet,.pcheck{display:none}.stats{grid-template-columns:1fr}}
