/* Custom software page: "device lab". Mist + white rhythm, blue lead accent, red for action, real device frames.
   Brand tokens from brand.css. Dark only for the device frames themselves. */
.x-custom{--hair:#dde1ea;--soft:#eef0f4;--card:#fff;--body:#4b5162;--h:#0d0f14;--t2:clamp(28px,3.4vw,48px);--sp:clamp(84px,9.5vw,140px);background:#fff;color:var(--body);font-size:17.5px}
.x-custom .in{max-width:1200px;padding:0 32px}
.x-custom :is(h1,h2,h3){color:var(--h);font-weight:700;letter-spacing:-.03em}
.x-custom .sec{padding:var(--sp) 0;position:relative}
.x-custom .sec:nth-of-type(even){background:var(--soft)}
.x-custom .sh{max-width:780px;margin-bottom:56px}.x-custom .sh.c{margin-left:auto;margin-right:auto}
.x-custom .sh h2{font-size:var(--t2);line-height:1.08}.x-custom .sh .intro{font-size:18.5px;line-height:1.6;color:#5b6172;margin-top:18px}
.x-custom .k{font:600 12.5px var(--f1);letter-spacing:.14em;color:var(--blue)}
.x-custom p{line-height:1.72}.x-custom .sec p+p{margin-top:16px}
.x-custom a{color:var(--blue);text-decoration-color:rgba(34,54,204,.35)}
.x-custom .btn{border-radius:14px;padding:16px 26px;font-weight:600}
.x-custom .btn.gh{border:1px solid var(--hair);background:#fff;color:var(--h)}
.x-custom .tick li{display:flex;gap:12px;margin-bottom:12px}.x-custom .tick svg{flex:none;margin-top:4px;color:var(--blue)}
.x-custom .note{font-size:14.5px;color:#7a8091}
.x-custom .fg{border-radius:20px;border:1px solid var(--hair);box-shadow:0 1px 2px rgba(13,15,20,.04),0 28px 56px -34px rgba(13,15,20,.28)}
.x-custom .fg figcaption{font-size:13.5px;color:#7a8091;border-color:var(--hair)}
.x-custom .h3{font-size:19px;margin:28px 0 14px}
.x-custom :is(.pl-g,.kx-g,.of-g,.lg-g,.pr-g,.ch-g,.cs-g,.pf-g) .sh h2{font-size:clamp(26px,2.5vw,38px);line-height:1.12}

/* hero */
.x-custom .hero{position:relative;padding:28px 0 90px;background:var(--soft);overflow:hidden}
.x-custom .hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#c9cfdc 1.2px,transparent 1.4px);background-size:22px 22px;mask:radial-gradient(70% 70% at 75% 40%,#000,transparent 80%)}
.x-custom .crumb{position:relative;display:flex;gap:8px;font-size:13.5px;color:#7a8091;margin-bottom:52px}.x-custom .crumb a{color:#7a8091;text-decoration:none}.x-custom .crumb b{color:var(--h)}.x-custom .crumb i{font-style:normal;color:#b8bfcc}
.x-custom .hg{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.x-custom .eb{display:inline-flex;align-items:center;gap:8px;font:600 13px var(--f1);color:var(--blue);background:#fff;border:1px solid var(--hair);padding:8px 14px;border-radius:10px;margin-bottom:26px}
.x-custom h1{font-size:clamp(32px,3.3vw,50px);line-height:1.05;letter-spacing:-.04em}
.x-custom h1 em{font-style:normal;color:var(--blue)}
.x-custom .lead{font-size:19px;line-height:1.6;margin:24px 0}
.x-custom .pts{display:grid;gap:10px;margin-bottom:32px}.x-custom .pts li{display:flex;gap:8px;align-items:center;font:600 14.5px var(--f1);color:var(--h)}.x-custom .pts svg{color:#16a34a}
/* device lab */
.x-custom .lab{position:relative;padding:22px;border-radius:28px;background:#fff;border:1px solid var(--hair);box-shadow:0 2px 4px rgba(13,15,20,.04),0 50px 90px -50px rgba(13,15,20,.45)}
.x-custom .dstage{height:440px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(180deg,#f7f8fb,#eceff5);position:relative;overflow:hidden}
.x-custom .dstage:after{content:"";position:absolute;left:10%;right:10%;bottom:22px;height:18px;border-radius:50%;background:radial-gradient(rgba(13,15,20,.22),transparent 70%)}
.x-custom .dev{position:relative;z-index:1;background:#0d0f14;padding:12px;border-radius:16px;width:480px;height:300px;transition:width .6s cubic-bezier(.6,0,.2,1),height .6s cubic-bezier(.6,0,.2,1),border-radius .6s,padding .6s;box-shadow:0 30px 50px -24px rgba(13,15,20,.55)}
.x-custom .dev .stand{position:absolute;left:50%;bottom:-62px;width:120px;height:62px;transform:translateX(-50%);opacity:0;transition:opacity .4s;background:linear-gradient(#2a2e38,#0d0f14);clip-path:polygon(38% 0,62% 0,70% 78%,100% 82%,100% 100%,0 100%,0 82%,30% 78%)}
.x-custom .dev.desktop{width:500px;height:312px;border-radius:14px}.x-custom .dev.desktop .stand{opacity:1}
.x-custom .dev.phone{width:196px;height:396px;border-radius:36px;padding:10px}
.x-custom .dev.tablet{width:420px;height:310px;border-radius:26px;padding:14px}
.x-custom .dev.tv{width:540px;height:304px;border-radius:8px;padding:6px}.x-custom .dev.tv .stand{opacity:1;bottom:-30px;width:300px;height:30px;clip-path:polygon(0 100%,8% 0,14% 0,8% 100%,92% 100%,86% 0,92% 0,100% 100%)}
.x-custom .dev.watch{width:150px;height:176px;border-radius:44px;padding:10px}
.x-custom .dev.watch:before,.x-custom .dev.watch:after{content:"";position:absolute;left:24px;right:24px;height:70px;background:#2a2e38;z-index:-1}.x-custom .dev.watch:before{top:-62px;border-radius:14px 14px 0 0}.x-custom .dev.watch:after{bottom:-62px;border-radius:0 0 14px 14px}
.x-custom .dev.kiosk{width:230px;height:352px;border-radius:18px;padding:12px;margin-bottom:40px}.x-custom .dev.kiosk .stand{opacity:1;bottom:-54px;width:90px;height:54px;clip-path:polygon(30% 0,70% 0,70% 70%,100% 80%,100% 100%,0 100%,0 80%,30% 70%)}
.x-custom .scr{width:100%;height:100%;border-radius:inherit;background:#fff;overflow:hidden;container-type:size}
.x-custom .dev.desktop .scr,.x-custom .dev.tv .scr{border-radius:6px}.x-custom .dev.phone .scr{border-radius:28px}.x-custom .dev.watch .scr{border-radius:36px;background:#0d0f14}
.x-custom .app{height:100%;display:flex;flex-direction:column;padding:16px;gap:10px;font-family:var(--f2)}
.x-custom .ah{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.x-custom .ah b{font:700 15px var(--f1);color:var(--h)}.x-custom .ah span{font-size:12px;color:#7a8091}
.x-custom .ast{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#eef0fd;color:var(--blue);font-size:13px;font-weight:600}.x-custom .ast i{width:8px;height:8px;border-radius:50%;background:var(--blue);animation:blk 1.4s infinite}.x-custom .ast b{margin-left:auto}
@keyframes blk{50%{opacity:.25}}
.x-custom .al{display:grid;gap:6px;flex:1}.x-custom .al li{display:flex;justify-content:space-between;padding:8px 10px;border-radius:8px;background:#f6f7f9;font-size:13px;color:var(--h)}.x-custom .al em{font-style:normal;color:#7a8091;font-size:12px}
.x-custom .ab2{padding:10px;border-radius:10px;background:var(--red);color:#fff;text-align:center;font:700 13px var(--f1)}
.x-custom .aw{display:none}
@container (min-width:440px){.x-custom .app{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:auto auto 1fr;padding:22px;gap:12px}.x-custom .ah{grid-column:1/-1}.x-custom .al{grid-row:2/4}.x-custom .ab2{align-self:end}.x-custom .ah b{font-size:18px}}
@container (max-width:200px){.x-custom .ah span,.x-custom .al li:nth-child(n+3){display:none}.x-custom .app{padding:12px 10px;gap:7px}.x-custom .al li{font-size:11px;padding:6px 8px}.x-custom .ab2{font-size:11px;padding:8px}}
@container (max-width:140px){.x-custom .app>*{display:none}.x-custom .app .aw{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff;text-align:center}.x-custom .aw b{font:700 22px var(--f1)}.x-custom .aw span{font-size:11px;color:#9be7b4;margin-top:4px}}
.x-custom .dtabs{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:16px}
.x-custom .dt{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 4px;border-radius:12px;border:1px solid var(--hair);background:#fff;color:#5b6172;font:600 12px var(--f1);cursor:pointer;transition:.2s}
.x-custom .dt:hover{border-color:#b8bfcc}.x-custom .dt.on{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 12px 22px -12px var(--blue)}
.x-custom .dcap{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:14px;font:600 13px var(--f1);color:#7a8091}.x-custom .dcap i{width:8px;height:8px;border-radius:50%;background:#22c55e}

/* spec stats */
.x-custom .specs{padding:0;background:#fff;border-bottom:1px solid var(--hair)}
.x-custom .sps{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--hair)}
.x-custom .sp{padding:32px 26px;border-right:1px solid var(--hair)}.x-custom .sp span{display:block;font:600 12px var(--f1);letter-spacing:.1em;text-transform:uppercase;color:#7a8091}.x-custom .sp b{display:block;font:700 44px/1.1 var(--f1);letter-spacing:-.03em;color:var(--h);margin-top:10px}
.x-custom .sp:first-child b{color:var(--blue)}

/* answer */
.x-custom .ans{padding:var(--sp) 0;background:#fff}
.x-custom .ab{max-width:900px;margin:0 auto 48px;text-align:center}.x-custom .ab .k{justify-content:center}
.x-custom .ab h2{font:600 15px var(--f2);letter-spacing:0;color:#7a8091;margin-bottom:16px}
.x-custom .speak{font:500 clamp(21px,2.2vw,29px)/1.5 var(--f1);letter-spacing:-.015em;color:var(--h)}
.x-custom .afs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.x-custom .af{padding:22px;border-radius:18px;background:var(--soft)}.x-custom .af dt{display:flex;gap:8px;align-items:center;font:600 13px var(--f1);color:var(--blue);margin-bottom:12px}
.x-custom .af dd{display:flex;flex-wrap:wrap;gap:6px}.x-custom .af dd span{padding:6px 10px;border-radius:8px;background:#fff;font-size:13px;font-weight:600;color:var(--h)}

/* platforms */
.x-custom .pl-g{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px;align-items:center}
.x-custom .pls{display:grid;gap:10px;margin-top:26px}.x-custom .pls li{display:flex;gap:14px;align-items:center;padding:14px 18px;border-radius:14px;background:#fff;border:1px solid var(--hair);font-size:15.5px;color:var(--h)}.x-custom .pls svg{color:var(--blue);flex:none}
.x-custom .pl-v .fg{margin:0}

/* device guide: vertical tabs */
.x-custom .vtab{display:grid;grid-template-columns:330px 1fr;gap:24px;align-items:start}
.x-custom .vts{display:grid;gap:8px;position:sticky;top:90px}
.x-custom .vt{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;border:1px solid var(--hair);background:#fff;color:var(--h);text-align:left;cursor:pointer;transition:.2s}
.x-custom .vt svg{flex:none;color:var(--blue)}.x-custom .vt b{font:600 15px/1.3 var(--f1)}
.x-custom .vt.on{border-color:var(--blue);box-shadow:inset 4px 0 0 var(--blue),0 18px 30px -24px rgba(34,54,204,.6)}
.x-custom .vps{border-radius:24px;background:#fff;border:1px solid var(--hair);padding:40px;min-height:330px}
.x-custom .vp{display:none}.x-custom .vp.on{display:block;animation:pin .4s ease}
@keyframes pin{from{opacity:0;transform:translateY(8px)}}
.x-custom .vn{font:700 42px var(--f1);color:transparent;-webkit-text-stroke:1.2px var(--blue)}.x-custom .vp h3{font-size:26px;margin:8px 0 14px}
.x-custom .dg-f{display:grid;grid-template-columns:4fr 7fr;gap:20px;margin-top:40px;align-items:start}.x-custom .dg-f .fg{margin:0}

/* cross-platform cards */
.x-custom .xcs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.x-custom .xc{border-radius:20px;background:#fff;border:1px solid var(--hair);overflow:hidden;display:flex;flex-direction:column}
.x-custom .xc h3{font-size:17px;line-height:1.35;padding:22px 22px 16px}
.x-custom .xb,.x-custom .xw{padding:16px 22px}.x-custom .xb{background:#eef7f1;flex:1}.x-custom .xw{background:var(--blush)}
.x-custom .xb span,.x-custom .xw span{display:block;font:600 11.5px var(--f1);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.x-custom .xb span{color:#16a34a}.x-custom .xw span{color:var(--red)}
.x-custom .xc p{font-size:14.5px;line-height:1.55;color:var(--h)}
.x-custom .xnote{display:flex;gap:20px;align-items:baseline;margin-top:24px;padding:22px 26px;border-radius:18px;background:var(--h);color:#fff}.x-custom .xnote b{font:700 15px var(--f1);white-space:nowrap;color:#8fa0ff}.x-custom .xnote p{color:#d3d7e2}.x-custom .xnote a{color:#fff}
.x-custom details.all{margin-top:22px;text-align:center}.x-custom details.all summary{cursor:pointer;list-style:none;display:inline-flex;gap:8px;font:600 14.5px var(--f1);color:var(--h);padding:11px 18px;border:1px solid var(--hair);border-radius:12px;background:#fff}
.x-custom details.all summary::-webkit-details-marker{display:none}.x-custom details.all summary:after{content:"+";color:var(--blue)}

/* kiosk */
.x-custom .kx-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:64px;align-items:start;margin-bottom:56px}
.x-custom .kx-v{position:sticky;top:90px;display:grid;place-items:center;padding:30px 0}
.x-custom .kio{position:relative;width:250px}
.x-custom .kt{padding:14px;border-radius:22px 22px 8px 8px;background:linear-gradient(160deg,#2a2e38,#0d0f14);box-shadow:0 40px 60px -30px rgba(13,15,20,.6)}
.x-custom .ks{height:330px;border-radius:12px;background:linear-gradient(180deg,#fff,#eef0fd);padding:24px 18px;display:flex;flex-direction:column;text-align:center}
.x-custom .ks>b{font:700 22px var(--f1);color:var(--h)}.x-custom .ks>span{font-size:13px;color:#5b6172;margin-top:4px}
.x-custom .kbtns{display:grid;gap:8px;margin:20px 0}.x-custom .kbtns i{font-style:normal;padding:12px;border-radius:10px;background:#fff;border:1px solid var(--hair);font:600 14px var(--f1);color:var(--h)}.x-custom .kbtns i:first-child{background:var(--blue);color:#fff;border-color:var(--blue)}
.x-custom .ktk{margin-top:auto;padding:12px;border-radius:12px;background:var(--h);color:#fff;animation:tk 4s ease-in-out infinite}.x-custom .ktk small{display:block;font-size:11px;color:#9aa1b2}.x-custom .ktk b{font:700 30px var(--f1)}
@keyframes tk{0%,30%{opacity:0;transform:translateY(10px)}45%,90%{opacity:1;transform:none}100%{opacity:0}}
.x-custom .kp{height:28px;margin:0 30px;background:#1b1e27;position:relative}.x-custom .kp i{position:absolute;left:20%;right:20%;top:8px;height:5px;border-radius:3px;background:#555b6b}
.x-custom .kb{height:150px;margin:0 70px;background:linear-gradient(90deg,#1b1e27,#2a2e38,#1b1e27);clip-path:polygon(15% 0,85% 0,100% 100%,0 100%);border-radius:0 0 8px 8px}
.x-custom .kchips{display:flex;flex-wrap:wrap;gap:8px}.x-custom .kchips li{padding:10px 14px;border-radius:12px;background:#fff;border:1px solid var(--hair);font-size:14.5px;color:var(--h)}
.x-custom .kbox{margin-top:16px;padding:26px 28px;border-radius:20px;background:#fff;border:1px solid var(--hair)}.x-custom .kbox h3{display:flex;gap:10px;align-items:center;font-size:19px;margin-bottom:10px}.x-custom .kbox h3 svg{color:var(--blue)}
.x-custom .kx .fg{margin:0}

/* hardware signal line */
.x-custom .sig{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:36px 28px;border-radius:24px;background:#fff;border:1px solid var(--hair);margin-bottom:56px;overflow:hidden}
.x-custom .sig:before{content:"";position:absolute;left:10%;right:10%;top:68px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--blue),#8fa0ff,var(--red))}
.x-custom .sig li{position:relative;text-align:center}
.x-custom .sig li>span{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:#fff;border:2px solid var(--blue);color:var(--blue);position:relative;z-index:1}
.x-custom .sig li:last-child>span{border-color:var(--red);color:var(--red)}
.x-custom .sig b{display:block;font:700 16px var(--f1);color:var(--h)}.x-custom .sig small{display:block;font-size:13.5px;line-height:1.45;color:#5b6172;margin-top:4px}
.x-custom .sig .pk{position:absolute;top:62px;left:10%;width:14px;height:14px;border-radius:4px;background:var(--red);box-shadow:0 0 0 5px rgba(205,33,34,.18);animation:pk 4s linear infinite;z-index:2}
@keyframes pk{0%{left:10%}100%{left:88%}}
.x-custom .hw-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:48px;align-items:start}
.x-custom .hw-n{padding:26px;border-radius:18px;background:#eef0fd;border-left:4px solid var(--blue)}.x-custom .hw-n p{color:var(--h)}
.x-custom .hw .fg{margin-top:48px}

/* devices grid */
.x-custom .dcs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.x-custom .dc{padding:28px;border-radius:20px;background:#fff;border:1px solid var(--hair);transition:.25s}.x-custom .dc:hover{transform:translateY(-3px);box-shadow:0 24px 40px -28px rgba(13,15,20,.35)}
.x-custom .di{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--h);color:#fff}
.x-custom .dc:nth-child(3n+2) .di{background:var(--blue)}.x-custom .dc:nth-child(3n) .di{background:var(--red)}
.x-custom .dc h3{font-size:18.5px;margin:18px 0 8px}.x-custom .dc p{font-size:15px;line-height:1.6}

/* offline demo */
.x-custom .of-g{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px;align-items:start}
.x-custom .rule{margin-top:24px;padding:24px 26px;border-radius:18px;background:#fff;border:1px solid var(--hair)}.x-custom .rule h3{font-size:18px;margin-bottom:10px}
.x-custom .of-v{display:grid;gap:20px;position:sticky;top:90px}.x-custom .of-v .fg{margin:0}
.x-custom .off{padding:26px;border-radius:24px;background:#fff;border:1px solid var(--hair);box-shadow:0 40px 80px -46px rgba(13,15,20,.45)}
.x-custom .oh{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.x-custom .oh b{font:700 17px var(--f1);color:var(--h)}
.x-custom .ot{display:flex;align-items:center;gap:10px;font:600 13.5px var(--f1);color:var(--h);cursor:pointer}.x-custom .ot input{position:absolute;opacity:0}
.x-custom .ot span{position:relative;width:42px;height:24px;border-radius:99px;background:#dfe2ea;transition:.25s}.x-custom .ot span:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.25s}
.x-custom .ot input:checked+span{background:var(--red)}.x-custom .ot input:checked+span:after{left:21px}
.x-custom .ost{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:#eef7f1;color:#16a34a;font:600 13.5px var(--f1)}.x-custom .ost i{width:8px;height:8px;border-radius:50%;background:currentColor}
.x-custom .ost .on0{display:none}.x-custom .off.is-off .ost{background:var(--blush);color:var(--red)}.x-custom .off.is-off .on1{display:none}.x-custom .off.is-off .on0{display:inline}
.x-custom .obill{width:100%;margin:14px 0;padding:14px;border:0;border-radius:12px;background:var(--h);color:#fff;font:600 15px var(--f1);cursor:pointer}
.x-custom .oq{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;background:var(--soft);font-size:14px;color:#5b6172}.x-custom .oq b{font:700 22px var(--f1);color:var(--h)}
.x-custom .olog{display:grid;gap:6px;margin-top:10px;min-height:96px}.x-custom .olog li{display:flex;justify-content:space-between;padding:8px 12px;border-radius:8px;border:1px solid var(--hair);font-size:13px;color:var(--h);animation:pin .3s ease}.x-custom .olog em{font-style:normal;font-weight:600}.x-custom .olog .q{color:var(--red)}.x-custom .olog .s{color:#16a34a}
.x-custom .osm{font-size:12px;color:#8a90a0;margin-top:10px}

/* legacy */
.x-custom .lg-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px;align-items:start}
.x-custom .lmarks{display:grid;gap:0;border-left:3px solid var(--hair);padding-left:0}.x-custom .lmarks span{position:relative;display:block;padding:18px 0 18px 28px;font-size:14.5px;color:#5b6172}
.x-custom .lmarks span:before{content:"";position:absolute;left:-9px;top:24px;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid var(--red)}.x-custom .lmarks span:last-child:before{border-color:#16a34a}
.x-custom .lmarks b{display:block;font:700 22px var(--f1);color:var(--h)}
.x-custom .lgh{margin-top:48px}
.x-custom .lcs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.x-custom .lc{padding:24px;border-radius:18px;background:#fff;border:1px solid var(--hair);border-top:5px solid var(--h)}.x-custom .lc b{font:700 18px var(--f1);color:var(--h)}.x-custom .lc p{font-size:14.5px;line-height:1.55;margin-top:8px}
.x-custom .lc-change{border-top-color:var(--blue)}.x-custom .lc-add{border-top-color:#16a34a}.x-custom .lc-avoid{border-top-color:var(--red)}

/* who */
.x-custom .wcs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.x-custom .wc{padding:24px 26px;border-radius:18px;background:#fff;border:1px solid var(--hair)}.x-custom .wc h3{display:flex;gap:10px;align-items:flex-start;font-size:17px;line-height:1.35;margin-bottom:10px}.x-custom .wc h3 svg{color:var(--blue);flex:none}
.x-custom .wn{font-size:14.5px;color:#5b6172}.x-custom .wb{margin-top:12px!important;padding-top:12px;border-top:1px dashed var(--hair);font-size:14.5px;color:var(--h)}.x-custom .wb b{display:block;font:600 11.5px var(--f1);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:4px}

/* process */
.x-custom .pr-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px;align-items:start}
.x-custom .sts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.x-custom .sts li{padding:22px 24px;border-radius:18px;background:#fff;border:1px solid var(--hair)}.x-custom .sts li:last-child{grid-column:1/-1;background:var(--h)}.x-custom .sts li:last-child h3{color:#fff}.x-custom .sts li:last-child p{color:#c3c8d5}
.x-custom .sn{font:600 12px var(--f1);letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}.x-custom .sts h3{font-size:18px;margin:8px 0}.x-custom .sts p{font-size:15px;line-height:1.6}
.x-custom .pr-f{position:sticky;top:90px}.x-custom .pr-f .fg{margin:0}

/* security */
.x-custom .scs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.x-custom .sc{padding:32px;border-radius:22px;background:#fff;border:1px solid var(--hair)}.x-custom .si{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#eef0fd;color:var(--blue)}
.x-custom .sc:nth-child(2) .si{background:var(--blush);color:var(--red)}.x-custom .sc:nth-child(3) .si{background:var(--soft);color:var(--h)}
.x-custom .sc h3{font-size:20px;margin:18px 0 10px}.x-custom .sc p{font-size:15.5px}

/* checklist */
.x-custom .ch-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px;align-items:start}
.x-custom .qs{display:grid;gap:8px;margin-bottom:20px}
.x-custom .qs label{display:flex;gap:14px;align-items:flex-start;padding:15px 18px;border-radius:14px;background:#fff;border:1px solid var(--hair);cursor:pointer}
.x-custom .qs input{position:absolute;opacity:0}.x-custom .cbx{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:7px;border:1.5px solid #b8bfcc;color:transparent;margin-top:2px;transition:.2s}
.x-custom .qs input:checked+.cbx{background:var(--blue);border-color:var(--blue);color:#fff}.x-custom .qs input:checked~.q{color:#9aa0ae;text-decoration:line-through}
.x-custom .q{font-size:15.5px;line-height:1.5;color:var(--h);font-weight:500}
.x-custom .ch-f .fg{margin:0;position:sticky;top:90px}

/* cost */
.x-custom .cs-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px;align-items:start}
.x-custom .cbars{margin-top:28px;padding:28px;border-radius:22px;background:#fff;border:1px solid var(--hair)}.x-custom .cbars h3{font-size:19px;margin-bottom:16px}
.x-custom .cbars li{display:grid;gap:6px;margin-bottom:14px;font-size:14.5px;color:var(--h)}.x-custom .cbars i{height:6px;border-radius:6px;background:var(--soft);position:relative;overflow:hidden}
.x-custom .cbars i:after{content:"";position:absolute;inset:0;width:0;border-radius:6px;background:linear-gradient(90deg,var(--blue),#8fa0ff);transition:width 1.2s cubic-bezier(.2,.8,.2,1)}.x-custom .cbars li.vis i:after{width:var(--w)}
.x-custom .cbars .sm{font-size:12.5px;color:#8a90a0}
.x-custom .nob{margin-top:20px;padding:28px;border-radius:22px;background:var(--blush);border:1px solid #f3d5d5}.x-custom .nob h3{display:flex;gap:10px;align-items:center;font-size:20px;margin-bottom:10px}.x-custom .nob h3 svg{color:var(--red)}.x-custom .nob p{color:var(--h)}
.x-custom .cs-f{position:sticky;top:90px}.x-custom .cs-f .fg{margin:0}

/* proof */
.x-custom .pf-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:48px;align-items:center}.x-custom .pf-g .fg{margin:0}

/* cities */
.x-custom .cty-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:48px;align-items:start;margin-bottom:48px}
.x-custom .meet{display:grid;gap:8px;margin-top:22px}.x-custom .meet span{display:grid;gap:2px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--hair);font-size:14px;color:#6b7182}.x-custom .meet b{font:600 15px var(--f1);color:var(--h)}
.x-custom .cts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.x-custom .ct{padding:22px;border-radius:16px;background:#fff;border:1px solid var(--hair)}.x-custom .ct h3{display:flex;gap:8px;align-items:center;font-size:16.5px;margin-bottom:8px}.x-custom .ct h3 svg{color:var(--blue)}.x-custom .ct p{font-size:14.5px;line-height:1.6}
.x-custom .cty .fg{margin:0}

/* faq: card accordion, 2 columns */
.x-custom .fqs{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.x-custom .fq{border-radius:16px;background:#fff;border:1px solid var(--hair)}
.x-custom .fq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;cursor:pointer;list-style:none}.x-custom .fq summary::-webkit-details-marker{display:none}
.x-custom .fq h3{font-size:16.5px;line-height:1.4;letter-spacing:-.01em}
.x-custom .fq i{flex:none;width:28px;height:28px;border-radius:50%;background:#eef0fd;position:relative}.x-custom .fq i:before,.x-custom .fq i:after{content:"";position:absolute;left:8px;right:8px;top:13px;height:2px;background:var(--blue)}.x-custom .fq i:after{transform:rotate(90deg);transition:.25s}.x-custom .fq[open] i:after{transform:none}
.x-custom .fq[open]{border-color:var(--blue)}.x-custom .fq p{padding:0 22px 22px;font-size:15.5px}

/* final CTA: light device card */
.x-custom .fin{padding:var(--sp) 0;background:var(--soft)}
.x-custom .fcard{max-width:900px;margin:0 auto;text-align:center;padding:60px 48px;border-radius:32px;background:#fff;border:1px solid var(--hair);box-shadow:0 60px 100px -60px rgba(34,54,204,.45)}
.x-custom .fdev{display:flex;justify-content:center;gap:10px;margin-bottom:22px}.x-custom .fdev span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--soft);color:var(--blue)}
.x-custom .fdev span:nth-child(3){background:var(--blue);color:#fff}
.x-custom .fcard .k{justify-content:center}.x-custom .fcard h2{font-size:clamp(28px,3.2vw,44px);line-height:1.1}.x-custom .fcard p{margin:16px auto 28px;max-width:680px;font-size:17.5px}
.x-custom .fcard .btns{justify-content:center}.x-custom .addr{font-size:13.5px!important;color:#7a8091;margin:26px 0 0!important}

/* related */
.x-custom .sbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.x-custom .sb{display:grid;grid-template-columns:auto 1fr;column-gap:14px;padding:20px;border-radius:16px;background:#fff;border:1px solid var(--hair);text-decoration:none;transition:.25s}
.x-custom .sb svg{grid-row:span 2;color:var(--blue);align-self:center}.x-custom .sb b{font:600 15px var(--f1);color:var(--h)}.x-custom .sb span{font-size:13.5px;color:#6b7182}.x-custom .sb:hover{border-color:var(--blue)}
.x-custom .more{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:30px}.x-custom .more a{padding:9px 16px;border-radius:12px;background:#fff;border:1px solid var(--hair);color:var(--h);text-decoration:none;font:600 14px var(--f1)}

/* responsive */
@media (max-width:1100px){.x-custom .dcs,.x-custom .wcs,.x-custom .xcs{grid-template-columns:1fr 1fr}.x-custom .sbs{grid-template-columns:1fr 1fr}.x-custom .lcs{grid-template-columns:1fr 1fr}.x-custom .afs{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
 .x-custom .in{padding:0 20px}
 .x-custom .hg,.x-custom .pl-g,.x-custom .vtab,.x-custom .dg-f,.x-custom .kx-g,.x-custom .hw-g,.x-custom .of-g,.x-custom .lg-g,.x-custom .pr-g,.x-custom .ch-g,.x-custom .cs-g,.x-custom .pf-g,.x-custom .cty-g{grid-template-columns:1fr;gap:36px}
 .x-custom .vts,.x-custom .kx-v,.x-custom .of-v,.x-custom .pr-f,.x-custom .ch-f .fg,.x-custom .cs-f{position:static}.x-custom .vts{grid-template-columns:1fr 1fr}
 .x-custom .pr-f,.x-custom .ch-f,.x-custom .cs-f{max-width:440px;margin:0 auto}
 .x-custom .sps{grid-template-columns:1fr 1fr}.x-custom .sp:nth-child(n+3){border-top:1px solid var(--hair)}
 .x-custom .sig{grid-template-columns:1fr;gap:18px;padding:26px 22px}.x-custom .sig:before{left:53px;right:auto;top:40px;bottom:40px;width:3px;height:auto;background:linear-gradient(180deg,var(--blue),var(--red))}.x-custom .sig .pk{display:none}
 .x-custom .sig li{display:grid;grid-template-columns:64px 1fr;gap:2px 16px;text-align:left;align-items:center}.x-custom .sig li>span{margin:0;grid-row:span 2}
 .x-custom .fqs{grid-template-columns:1fr}.x-custom .vps{padding:28px 22px}}
@media (max-width:640px){
 .x-custom{font-size:16.5px}.x-custom .dstage{height:360px}.x-custom .dev{transform:scale(.62)}.x-custom .dtabs{grid-template-columns:repeat(3,1fr)}
 .x-custom .dcs,.x-custom .wcs,.x-custom .xcs,.x-custom .sbs,.x-custom .lcs,.x-custom .scs,.x-custom .sts,.x-custom .cts,.x-custom .afs,.x-custom .vts{grid-template-columns:1fr}.x-custom .sts li:last-child{grid-column:auto}
 .x-custom .sp b{font-size:34px}.x-custom .xnote{flex-direction:column;gap:6px}.x-custom .fcard{padding:40px 22px}.x-custom .fdev span{width:40px;height:40px}}
/* fixes v3 */
.x-custom .dev.desktop{width:440px;height:280px}.x-custom .dev.tv{width:460px;height:262px}.x-custom .dev.tablet{width:390px;height:290px}
.x-custom .hero .btns{display:flex;flex-wrap:wrap;gap:12px}
.x-custom .eb{max-width:100%;flex-wrap:wrap}
@media (max-width:900px){.x-custom .hg{grid-template-columns:minmax(0,1fr)}.x-custom .lab{max-width:100%;overflow:hidden}}
@media (max-width:640px){.x-custom .lab{padding:12px}.x-custom .dstage{height:320px}.x-custom .dev{transform:scale(.6)}.x-custom .hero .btns .btn{width:100%;justify-content:center}}
@media (max-width:640px){.x-custom .dev{position:absolute;left:50%;top:46%;margin:0;transform:translate(-50%,-50%) scale(.6)}}
/* review 2026-11-04: locations = text | meeting cards, then grouped city cards full width */
@media (min-width:901px){.x-custom .cty-g{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center}}
.x-custom .cty-g{margin-bottom:0}.x-custom .cty-g .meet{margin-top:0}
.x-custom .cty-f{margin-top:56px}
/* 11 "who" cards: wrap and centre the last row instead of leaving an empty slot */
@media (min-width:901px){.x-custom .wcs{display:flex;flex-wrap:wrap;justify-content:center}.x-custom .wcs>.wc{flex:0 1 calc(33.333% - 10px)}}
/* ===== review 2026-11-04 tablet/mobile centring */
@media (min-width:641px) and (max-width:1100px){.x-custom .dcs{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.x-custom .dcs>*{flex:0 1 calc((100% - 16px) / 2);min-width:0}}
@media (min-width:641px) and (max-width:900px){.x-custom .wcs{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.x-custom .wcs>*{flex:0 1 calc((100% - 14px) / 2);min-width:0}}
@media (min-width:641px) and (max-width:900px){.x-custom .vts>:last-child:nth-child(odd){grid-column:1/-1}}

/* release 2026-11-05: note label is <strong> (definition style for the SEO plugin) */
.xnote strong{font:700 15px var(--f1);white-space:nowrap;color:#8fa0ff}
