/* Websense V13: forms, Why grid, About section and kinetic polish. */

/* ---------- Forms (.wsf) ---------- */
.wsf{--wsf-line:rgba(var(--blue-light-rgb),.16);--wsf-bg:rgba(255,255,255,.028);--wsf-txt:#eef4ff;--wsf-dim:#8d9bb0;display:grid;gap:26px;position:relative;font-family:var(--font,inherit)}
.wsf fieldset{border:0;margin:0;padding:0;min-width:0}
.wsf-group{display:grid;gap:16px}
.wsf-group legend{display:flex;align-items:center;gap:12px;padding:0;margin:0 0 16px;font:700 15px/1.2 var(--font,inherit);color:#fff;letter-spacing:-.01em;width:100%}
.wsf-group legend b{display:inline-grid;place-items:center;min-width:34px;height:24px;padding:0 8px;border-radius:999px;font:600 11px/1 var(--font-mono,ui-monospace,monospace);letter-spacing:.06em;color:var(--blue-light);background:rgba(var(--blue-rgb),.12);border:1px solid rgba(var(--blue-light-rgb),.28)}
.wsf-group legend::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(var(--blue-light-rgb),.25),transparent)}
.wsf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.wsf-field{display:grid;gap:8px;min-width:0;align-content:start}
.wsf-field--wide{grid-column:1/-1}
.wsf-field>label,.wsf-label{font:600 11px/1.3 var(--font-mono,ui-monospace,monospace);letter-spacing:.09em;text-transform:uppercase;color:#a9b7cb;display:flex;gap:8px;align-items:baseline}
.wsf-field em,.wsf-label em{font-style:normal;text-transform:none;letter-spacing:0;font-family:var(--font,inherit);font-size:11px;color:#66758b}
.wsf-control{position:relative;display:block;min-width:0}
.wsf-control>.wsf-ico{position:absolute;left:16px;top:50%;width:18px;height:18px;margin-top:-9px;color:#6f8098;pointer-events:none;transition:color .25s,transform .35s cubic-bezier(.2,.8,.2,1)}
.wsf-control--select>.wsf-ico:last-child{left:auto;right:14px;width:18px;color:#8fa2bb}
.wsf-control:focus-within>.wsf-ico:first-child{color:var(--blue-light);transform:scale(1.08)}
.wsf-control:focus-within.wsf-control--select>.wsf-ico:last-child{transform:rotate(180deg);color:var(--blue-light)}
.wsf .wsf-control input,.wsf .wsf-control select,.wsf .wsf-control textarea,.modal-box .wsf .wsf-control input,.modal-box .wsf .wsf-control select,.modal-box .wsf .wsf-control textarea{width:100%;height:52px;margin:0;padding:0 16px 0 46px!important;border-radius:14px!important;border:1px solid var(--wsf-line)!important;background:var(--wsf-bg)!important;color:var(--wsf-txt)!important;font:500 15px/1.2 var(--font,inherit)!important;letter-spacing:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;transition:border-color .25s,box-shadow .25s,background .25s!important;-webkit-appearance:none;appearance:none;color-scheme:dark}
.wsf .wsf-control select{padding-right:42px!important;cursor:pointer;text-overflow:ellipsis}
.wsf .wsf-control select:invalid{color:#6f8098!important}
.wsf .wsf-control select option{background:#0b1220;color:#eef4ff}
.wsf .wsf-control--area textarea,.modal-box .wsf .wsf-control--area textarea{height:auto;min-height:132px;padding:14px 16px 30px!important;line-height:1.55!important;resize:vertical}
.wsf .wsf-control input::placeholder,.wsf .wsf-control textarea::placeholder{color:#5f6e84;opacity:1}
.wsf .wsf-control input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(.75) sepia(.3) hue-rotate(180deg);cursor:pointer;opacity:.8}
.wsf .wsf-control input:hover,.wsf .wsf-control select:hover,.wsf .wsf-control textarea:hover{border-color:rgba(var(--blue-light-rgb),.32)!important}
.wsf .wsf-control input:focus,.wsf .wsf-control select:focus,.wsf .wsf-control textarea:focus{outline:none;border-color:rgba(var(--blue-light-rgb),.75)!important;background:rgba(var(--blue-rgb),.07)!important;box-shadow:0 0 0 4px rgba(var(--blue-rgb),.16),0 10px 30px -14px rgba(var(--blue-rgb),.8)!important}
.wsf-count{position:absolute;right:14px;bottom:10px;font:500 10px/1 var(--font-mono,monospace);color:#5f6e84;pointer-events:none}
.wsf-field.is-valid .wsf-control>.wsf-ico:first-child{color:var(--cyan)}
.wsf-field.is-invalid .wsf-control input,.wsf-field.is-invalid .wsf-control select,.wsf-field.is-invalid .wsf-control textarea{border-color:rgba(255,110,110,.7)!important;box-shadow:0 0 0 4px rgba(255,90,90,.1)!important}
.wsf-field.is-invalid .wsf-control>.wsf-ico:first-child{color:#ff8a8a}
.wsf .wsf-err{font:500 12.5px/1.35 var(--font,inherit)!important;color:#ff9a9a!important;margin:0!important;max-width:none}
/* chips */
.wsf-chips{display:flex;flex-wrap:wrap;gap:8px}
.wsf-field:not(.wsf-field--wide) .wsf-chip span{padding:0 13px}
.wsf-chip{position:relative;cursor:pointer}
.wsf-chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.wsf-chip span{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--wsf-line);background:var(--wsf-bg);color:#c6d2e3;font:500 14px/1 var(--font,inherit);transition:all .25s cubic-bezier(.2,.8,.2,1)}
.wsf-chip span::before{content:'';width:8px;height:8px;border-radius:50%;border:1.5px solid #5f6e84;transition:all .25s}
.wsf-chip:hover span{border-color:rgba(var(--blue-light-rgb),.4);color:#fff}
.wsf-chip input:focus-visible+span{box-shadow:0 0 0 4px rgba(var(--blue-rgb),.2)}
.wsf-chip input:checked+span{color:#fff;border-color:rgba(var(--blue-light-rgb),.75);background:linear-gradient(180deg,rgba(var(--blue-rgb),.24),rgba(var(--blue-rgb),.1));box-shadow:0 8px 24px -12px rgba(var(--blue-rgb),.9)}
.wsf-chip input:checked+span::before{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 10px var(--cyan)}
/* file drop */
.wsf-drop{text-transform:none;letter-spacing:normal;font:400 14px/1.4 var(--font,inherit);position:relative;display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;border:1.5px dashed rgba(var(--blue-light-rgb),.28);background:repeating-linear-gradient(135deg,rgba(var(--blue-rgb),.04) 0 10px,transparent 10px 20px);cursor:pointer;transition:border-color .25s,background-color .25s,transform .25s}
.wsf-drop:hover,.wsf-drop.is-over{border-color:rgba(var(--blue-light-rgb),.75);background-color:rgba(var(--blue-rgb),.08)}
.wsf-drop.is-over{transform:scale(1.01)}
.wsf-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.wsf-drop__ico{flex:0 0 auto;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(var(--blue-rgb),.14);border:1px solid rgba(var(--blue-light-rgb),.3);color:var(--blue-light)}
.wsf-drop__ico .wsf-ico{width:22px;height:22px}
.wsf-drop__txt{display:grid;gap:4px;min-width:0}
.wsf-drop__txt strong{font:600 14px/1.3 var(--font,inherit);color:#e8f0fb}
.wsf-drop__txt u{color:var(--blue-light);text-underline-offset:3px}
.wsf-drop__txt strong,.wsf-drop__txt small{text-transform:none;letter-spacing:normal}
.wsf-drop__txt small{font-family:var(--font,inherit);font-size:12px;color:#74849a}
.wsf-drop__file{margin-left:auto;max-width:45%;padding:7px 12px;border-radius:999px;background:rgba(var(--cyan-rgb,34,211,238),.12);border:1px solid rgba(var(--cyan-rgb,34,211,238),.35);color:#dffaff;font:500 12px/1.2 var(--font-mono,monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wsf-drop.has-file{border-style:solid;border-color:rgba(var(--cyan-rgb,34,211,238),.5)}
/* consent */
.wsf-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font:400 13.5px/1.55 var(--font,inherit);color:#9aa8bc;text-transform:none;letter-spacing:0;position:relative}
.wsf-check input{position:absolute;opacity:0;width:22px;height:22px;margin:0;cursor:pointer}
.wsf-check__box{flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;margin-top:1px;border-radius:7px;border:1.5px solid rgba(var(--blue-light-rgb),.4);background:var(--wsf-bg,rgba(255,255,255,.03));transition:all .25s}
.wsf-check__box .wsf-ico{width:14px;height:14px;color:var(--ws-cta-fg,#04101f);stroke-width:2.6;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .3s .05s}
.wsf-check input:checked+.wsf-check__box{background:linear-gradient(135deg,var(--blue-light),var(--cyan));border-color:transparent;box-shadow:0 0 16px -2px rgba(var(--blue-rgb),.7)}
.wsf-check input:checked+.wsf-check__box .wsf-ico{stroke-dashoffset:0}
.wsf-check input:focus-visible+.wsf-check__box{box-shadow:0 0 0 4px rgba(var(--blue-rgb),.22)}
.wsf-check.is-invalid .wsf-check__box{border-color:#ff8a8a}
.wsf-check a{color:var(--blue-light);text-underline-offset:3px}
/* actions */
.wsf-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.wsf .wsf-submit{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:12px;height:56px;padding:0 26px 0 30px!important;border-radius:999px!important;font:700 15px/1 var(--font,inherit)!important;letter-spacing:-.005em;overflow:hidden;width:auto!important;min-width:230px}
.wsf .wsf-submit .wsf-ico{width:20px;height:20px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.wsf .wsf-submit:hover .wsf-ico{transform:translateX(4px)}
.wsf .wsf-submit::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-100%);transition:transform .8s ease}
.wsf .wsf-submit:hover::after{transform:translateX(100%)}
.wsf .wsf-submit.is-loading .wsf-ico{animation:wsfSpin 0.9s linear infinite}
.wsf .wsf-submit.is-loading{pointer-events:none;opacity:.85}
@keyframes wsfSpin{to{transform:rotate(360deg)}}
.wsf-secure{display:flex;align-items:center;gap:8px;margin:0;font:500 12px/1.4 var(--font,inherit);color:#74849a;flex:1;min-width:200px}
.wsf-secure .wsf-ico{width:16px;height:16px;color:var(--cyan);flex:0 0 auto}
.wsf .wsf-msg{margin:0;font:500 14px/1.5 var(--font,inherit)}
.wsf .wsf-msg:empty{display:none}
.wsf.is-sent .wsf-submit{background:linear-gradient(135deg,#2bd47d,var(--cyan))!important}
/* progress */
.wsf-modal .wsf-progress{padding-right:52px}
.wsf-progress{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:14px;padding:12px 0 10px;margin:-8px 0 -6px;background:linear-gradient(180deg,var(--wsf-surface,#0b1221) 70%,transparent)}
.wsf-progress__bar{flex:1;height:4px;border-radius:4px;background:rgba(var(--blue-light-rgb),.12);overflow:hidden}
.wsf-progress__bar i{display:block;height:100%;width:calc(var(--p,0) * 1%);border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--blue-light),var(--cyan));box-shadow:0 0 12px rgba(var(--blue-light-rgb),.8);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.wsf-progress__txt{font:600 11px/1 var(--font-mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:#7d8da3;white-space:nowrap}
.wsf-progress__txt b{color:#fff;font-weight:700}

/* modal shell */
.modal-box.wsf-modal{max-width:min(1100px,100%)!important;width:100%;padding:0!important;display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);max-height:min(92vh,900px)!important;overflow:hidden!important;border-radius:26px!important}
.wsf-modal .modal-close{z-index:5;top:18px;right:18px}
.wsf-aside{position:relative;display:flex;flex-direction:column;gap:18px;padding:40px 32px 32px;background:radial-gradient(120% 70% at 0% 0%,rgba(var(--blue-rgb),.28),transparent 60%),radial-gradient(90% 60% at 100% 100%,rgba(var(--cyan-rgb,34,211,238),.12),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));border-right:1px solid rgba(var(--blue-light-rgb),.14);overflow:hidden}
.wsf-aside::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(var(--blue-light-rgb),.06) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--blue-light-rgb),.06) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 75%);mask-image:linear-gradient(180deg,#000,transparent 75%);pointer-events:none}
.wsf-aside>*{position:relative}
.wsf-aside h3{margin:0!important;font:800 clamp(26px,2.4vw,34px)/1.05 var(--font,inherit)!important;letter-spacing:-.035em;color:#fff}
.wsf-aside .modal-sub{margin:0!important;color:#a3b1c4;font-size:14px;line-height:1.6}
.wsf-steps{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:0;counter-reset:none}
.wsf-steps li{position:relative;display:flex;gap:14px;padding:0 0 22px}
.wsf-steps li:not(:last-child)::before{content:'';position:absolute;left:17px;top:34px;bottom:4px;width:1px;background:linear-gradient(180deg,rgba(var(--blue-light-rgb),.5),rgba(var(--blue-light-rgb),.08))}
.wsf-steps b{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font:600 11px/1 var(--font-mono,monospace);color:var(--blue-light);background:rgba(7,12,22,.9);border:1px solid rgba(var(--blue-light-rgb),.4);box-shadow:0 0 18px -6px rgba(var(--blue-rgb),.9)}
.wsf-steps li:first-child b{color:var(--ws-cta-fg,#04101f);background:linear-gradient(135deg,var(--blue-light),var(--cyan));border-color:transparent}
.wsf-steps span{display:grid;gap:3px;padding-top:6px;font:600 14px/1.3 var(--font,inherit);color:#eaf1fb}
.wsf-steps small{font:400 12.5px/1.4 var(--font,inherit);color:#7f8ea4}
.wsf-direct{margin-top:auto;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;border:1px solid rgba(52,227,154,.25);background:rgba(52,227,154,.06);color:#c9f5df;font-size:13px;line-height:1.35;text-decoration:none;transition:border-color .25s,background .25s}
.wsf-direct strong{color:#fff;display:block}
.wsf-direct:hover{border-color:rgba(52,227,154,.6);background:rgba(52,227,154,.1)}
.wsf-direct>span:last-child{margin-left:auto;color:#34e39a}
.wsf-direct__dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:#34e39a;box-shadow:0 0 0 4px rgba(52,227,154,.18),0 0 12px #34e39a;animation:wsfPulse 2.2s ease-in-out infinite}
@keyframes wsfPulse{50%{box-shadow:0 0 0 7px rgba(52,227,154,.06),0 0 16px #34e39a}}
.wsf-main{--wsf-surface:#0b1221;overflow-y:auto;overscroll-behavior:contain;padding:28px 40px 34px;scrollbar-width:thin;scrollbar-color:rgba(var(--blue-light-rgb),.35) transparent}
.wsf-modal .wsf .wsf-submit{flex:0 0 auto}
.modal-overlay.wsf-overlay .modal-box{transform:translateY(24px) scale(.97);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s ease}
.modal-overlay.wsf-overlay.open .modal-box{transform:none;opacity:1}

/* contact page layout */
.ws-contact-layout h2{font-size:clamp(40px,4.4vw,78px)!important;overflow-wrap:break-word}
.ws-contact-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)!important;gap:clamp(32px,5vw,80px)!important;align-items:start}
.ws-contact-form.wsf{padding:clamp(22px,3vw,40px);border-radius:26px;border:1px solid rgba(var(--blue-light-rgb),.16);background:linear-gradient(180deg,rgba(14,21,36,.85),rgba(8,12,22,.9));box-shadow:0 40px 100px -40px rgba(0,0,0,.9),0 0 0 1px rgba(var(--blue-rgb),.06) inset,0 0 90px -40px rgba(var(--blue-rgb),.5);--wsf-surface:#0d1525}
.ws-contact-form.wsf::before{content:'';position:absolute;left:30px;right:30px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--blue-light),var(--cyan),transparent)}
.ws-contact-form.wsf .wsf-progress{top:84px;margin:-10px 0 -6px}

/* contact page: neutralise legacy label styling and label scroll-reveal */
.ws-contact-form.wsf label{gap:0;color:inherit;font:inherit;text-transform:none;letter-spacing:normal}
.ws-contact-form.wsf label.scroll-card,.ws-contact-form.wsf label.scroll-card.scroll-pending{opacity:1!important;transform:none!important}
.wsf .wsf-field>label{display:flex;gap:8px;font:600 11px/1.3 var(--font-mono,ui-monospace,monospace);letter-spacing:.09em;text-transform:uppercase;color:#a9b7cb}
.wsf label.wsf-chip{display:inline-block}
.wsf label.wsf-drop{display:flex;gap:16px}
.wsf label.wsf-check{display:flex;gap:12px;font:400 13.5px/1.55 var(--font,inherit);color:#9aa8bc}
.wsf .wsf-chip span{text-transform:none;letter-spacing:0}
.wsf-group{transition:opacity .6s ease,translate .7s cubic-bezier(.2,.8,.2,1)}

@media(max-width:900px){
  .modal-box.wsf-modal{grid-template-columns:1fr;overflow-y:auto!important;max-height:94vh!important;border-radius:22px!important}
  .wsf-aside{padding:28px 22px 18px;border-right:0;border-bottom:1px solid rgba(var(--blue-light-rgb),.12);gap:12px}
  .wsf-steps,.wsf-direct{display:none}
  .wsf-main{overflow:visible;padding:16px 22px 28px}
  .ws-contact-layout{grid-template-columns:1fr!important}
  .ws-contact-layout>div:first-child{position:static!important}
  .ws-contact-form.wsf .wsf-progress{top:64px}
}
@media(max-width:600px){
  .modal-overlay.wsf-overlay{padding:10px!important;align-items:flex-end}
  .wsf-grid{grid-template-columns:1fr}
  .wsf .wsf-submit{width:100%!important;min-width:0}
  .wsf-secure{min-width:0}
  .wsf-drop{flex-wrap:wrap}
  .wsf-drop__file{margin-left:0;max-width:100%}
  .wsf .wsf-control input,.wsf .wsf-control select{font-size:16px!important}
}
@media(prefers-reduced-motion:reduce){.wsf *{transition:none!important;animation:none!important}}

/* ---------- Client portal modal ---------- */
#authModal .modal-box{max-width:440px!important;border-radius:24px!important;padding:36px 32px 28px!important}
#authModal .modal-sub{font-size:13.5px;line-height:1.6;color:#94a3b8;margin:10px 0 22px}
#authModal .modal-tabs{height:50px;padding:5px!important;border-radius:999px!important;gap:4px}
#authModal .modal-tab{border-radius:999px!important;font:600 12px/1 var(--font-mono,monospace)!important;letter-spacing:.08em;text-transform:uppercase;transition:all .3s cubic-bezier(.2,.8,.2,1)}
#authModal .google-btn{height:50px;padding:0!important;border-radius:14px!important;background:rgba(255,255,255,.04)!important;color:#e8f0fb!important;border:1px solid rgba(var(--blue-light-rgb),.18)!important;font:600 14px/1 var(--font,inherit)!important;transition:border-color .25s,background .25s,translate .25s}
#authModal .google-btn:hover{background:rgba(var(--blue-rgb),.1)!important;border-color:rgba(var(--blue-light-rgb),.45)!important;translate:0 -2px;transform:none}
#authModal .modal-divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:#5f6e84;font:600 11px/1 var(--font-mono,monospace);letter-spacing:.12em;text-transform:uppercase}
#authModal .modal-divider::before,#authModal .modal-divider::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--blue-light-rgb),.25),transparent)}
#authModal .modal-divider span{background:none!important;padding:0!important}
#authForm label{font:600 11px/1.3 var(--font-mono,monospace)!important;letter-spacing:.09em;text-transform:uppercase;color:#a9b7cb!important;margin:0 0 8px!important;display:block}
#authForm input{height:52px;margin:0 0 16px!important;padding:0 16px!important;border-radius:14px!important;font:500 15px/1.2 var(--font,inherit)!important}
#authForm .btn-primary,#authForm .auth-submit{height:54px;width:100%;justify-content:center;border-radius:999px!important;margin-top:6px!important;font-weight:700}
#authModal .modal-note{font-size:13px;color:#8291a6;text-align:center;margin-top:16px}
#authModal .link-btn{color:var(--blue-light);font-weight:600}
@media(max-width:600px){#authModal .modal-box{padding:28px 20px 22px!important}#authForm input{font-size:16px!important}}

/* ---------- Why clients choose: bento ---------- */
.ws-why-bento.why-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(0,auto);gap:14px!important;background:none!important;border:0!important;border-radius:0!important;overflow:visible!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.ws-why-bento .why-cell{display:flex;flex-direction:column;gap:18px;min-height:260px;padding:22px 22px 24px!important;border-radius:22px!important;border:1px solid rgba(var(--blue-light-rgb),.13)!important;background:radial-gradient(120% 90% at 100% 0%,rgba(var(--blue-rgb),.12),transparent 55%),linear-gradient(180deg,rgba(15,23,40,.82),rgba(8,12,22,.9))!important;box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 30px 60px -40px rgba(0,0,0,.9);overflow:hidden;isolation:isolate}
.ws-why-bento .why-cell[data-why="1"],.ws-why-bento .why-cell[data-why="2"],.ws-why-bento .why-cell[data-why="7"],.ws-why-bento .why-cell[data-why="8"]{grid-column:span 2}
.ws-why-bento .why-cell::before{z-index:2}
.ws-why-bento .why-vis{position:relative;flex:1;min-height:120px;border-radius:14px;display:grid;place-items:center;overflow:hidden}
.ws-why-bento .why-copy{display:flex;gap:14px;align-items:flex-start}
.ws-why-bento .why-num{flex:0 0 auto;margin:2px 0 0!important;display:grid;place-items:center;width:34px;height:24px;border-radius:999px;font:600 11px/1 var(--font-mono,monospace)!important;border:1px solid rgba(var(--cyan-rgb,34,211,238),.35);background:rgba(var(--cyan-rgb,34,211,238),.08)}
.ws-why-bento .why-cell p{margin:0;font:650 clamp(16px,1.25vw,19px)/1.32 var(--font,inherit)!important;letter-spacing:-.015em;color:#f2f6fd}
.ws-why-bento .why-cell:hover{border-color:rgba(var(--blue-light-rgb),.38)!important}
.ws-why-bento .why-cell:hover .why-vis{--hov:1}
/* 01 stack */
.wv-stack{position:relative;width:100%;height:100%;min-height:130px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:10px;padding:0 18%}
.wv-stack span{padding:8px 14px;border-radius:999px;border:1px solid rgba(var(--blue-light-rgb),.28);background:rgba(7,12,22,.85);font:600 12px/1 var(--font-mono,monospace);letter-spacing:.06em;color:#cfe0f5;animation:wvFloat 5s ease-in-out infinite;animation-delay:calc(var(--d,0) * -1s)}
.wv-stack span:nth-child(2){--d:1.2}.wv-stack span:nth-child(3){--d:2.4}.wv-stack span:nth-child(4){--d:3.1}.wv-stack span:nth-child(5){--d:.6}
.wv-core{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px 0 0 -75px;z-index:-1;opacity:.5}
.wv-core svg{width:100%;height:100%;fill:none;stroke:rgba(var(--blue-light-rgb),.5);stroke-width:1.2;animation:wsSpinS 26s linear infinite}
@keyframes wvFloat{50%{translate:0 -6px}}
/* 02 convert */
.wv-convert{position:relative;width:100%;height:100%;min-height:130px}
.wv-convert svg{position:absolute;inset:14px 0 0;width:100%;height:calc(100% - 14px)}
.wv-line{fill:none;stroke:var(--cyan);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--on,1) * 100);filter:drop-shadow(0 0 6px rgba(var(--cyan-rgb,34,211,238),.8));vector-effect:non-scaling-stroke}
.wv-area{opacity:calc(var(--on,1) * 1)}
.wv-badge{position:absolute;right:8px;top:4px;padding:7px 12px;border-radius:999px;font:700 12px/1 var(--font,inherit);color:var(--ws-cta-fg,#04101f);background:linear-gradient(135deg,var(--blue-light),var(--cyan));box-shadow:0 8px 24px -8px rgba(var(--cyan-rgb,34,211,238),.9);scale:calc(.6 + var(--on,1) * .4);opacity:var(--on,1)}
/* 03 curve */
.wv-curve svg{width:100%;max-width:220px;height:auto;overflow:visible}
.wv-grid{stroke:rgba(var(--blue-light-rgb),.12);stroke-width:1}
.wv-curve circle{fill:var(--cyan);filter:drop-shadow(0 0 8px var(--cyan));opacity:clamp(0,calc((var(--on,1) - .9) * 10),1)}
/* 04 design */
.wv-design{position:relative;width:150px;height:110px}
.wv-design i{position:absolute;border-radius:8px;border:1px solid rgba(var(--blue-light-rgb),.4);background:rgba(var(--blue-rgb),.1)}
.wv-design i:nth-child(1){left:0;top:0;width:100%;height:28px;background:linear-gradient(90deg,rgba(var(--blue-rgb),.35),rgba(var(--cyan-rgb,34,211,238),.2))}
.wv-design i:nth-child(2){left:0;top:38px;width:58%;height:72px}
.wv-design i:nth-child(3){right:0;top:38px;width:36%;height:72px;transition:translate .6s cubic-bezier(.2,.8,.2,1)}
.why-cell:hover .wv-design i:nth-child(3){translate:-6px 0}
.wv-guide{position:absolute;background:var(--coral,#ff7a59);opacity:.8}
.wv-guide--x{left:-14px;right:-14px;top:37px;height:1px;animation:wvGuide 3.2s ease-in-out infinite}
.wv-guide--y{top:-12px;bottom:-12px;left:58%;width:1px;margin-left:5px;animation:wvGuide 3.2s 1.6s ease-in-out infinite}
@keyframes wvGuide{0%,100%{opacity:0}40%,60%{opacity:.85}}
/* 05 steps */
.wv-steps{display:grid;gap:8px;width:100%;max-width:180px}
.wv-steps i{position:relative;display:flex;align-items:center;gap:10px;font:600 11px/1 var(--font-mono,monospace);letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:#9fb0c6;padding:8px 10px;border-radius:10px;border:1px solid rgba(var(--blue-light-rgb),.15);background:rgba(7,12,22,.7);animation:wvStep 4s ease-in-out infinite}
.wv-steps i::before{content:'';width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(var(--blue-light-rgb),.5)}
.wv-steps i:nth-child(2){animation-delay:1s}.wv-steps i:nth-child(3){animation-delay:2s}.wv-steps i:nth-child(4){animation-delay:3s}
@keyframes wvStep{0%,20%{color:#fff;border-color:rgba(var(--cyan-rgb,34,211,238),.6);background:rgba(var(--cyan-rgb,34,211,238),.1)}35%,100%{}}
/* 06 merge */
.wv-merge{position:relative;width:150px;height:110px}
.wv-merge span{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(120,135,160,.25);animation:wvMerge 4.5s cubic-bezier(.6,0,.3,1) infinite}
.wv-merge span:nth-child(1){--x:-56px;--y:-30px}.wv-merge span:nth-child(2){--x:56px;--y:-30px}.wv-merge span:nth-child(3){--x:-62px;--y:28px}.wv-merge span:nth-child(4){--x:62px;--y:28px}.wv-merge span:nth-child(5){--x:0px;--y:-46px}
.wv-merge b{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px;border-radius:50%;display:grid;place-items:center;font:800 20px/1 var(--font,inherit);color:var(--ws-cta-fg,#04101f);background:linear-gradient(135deg,var(--blue-light),var(--cyan));box-shadow:0 0 0 6px rgba(var(--cyan-rgb,34,211,238),.12),0 0 30px rgba(var(--cyan-rgb,34,211,238),.6);animation:wvOne 4.5s cubic-bezier(.6,0,.3,1) infinite}
@keyframes wvMerge{0%,15%{translate:var(--x) var(--y);opacity:1}55%,80%{translate:0 0;opacity:0}100%{translate:var(--x) var(--y);opacity:1}}
@keyframes wvOne{0%,35%{scale:.4;opacity:0}55%,85%{scale:1;opacity:1}100%{scale:.4;opacity:0}}
/* 07 search */
.wv-search{display:grid;gap:10px;width:min(100%,360px)}
.wv-q{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;border:1px solid rgba(var(--blue-light-rgb),.25);background:rgba(7,12,22,.85);font:500 13px/1 var(--font,inherit);color:#d6e3f3}
.wv-q svg{width:16px;height:16px;fill:none;stroke:var(--blue-light);stroke-width:2;stroke-linecap:round}
.wv-q em{font-style:normal;overflow:hidden;white-space:nowrap;border-right:2px solid var(--cyan);animation:wvType 5s steps(24) infinite;width:24ch}
@keyframes wvType{0%{width:0}45%,100%{width:24ch}}
.wv-ans{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:linear-gradient(90deg,rgba(var(--blue-rgb),.18),rgba(var(--cyan-rgb,34,211,238),.08));border:1px solid rgba(var(--cyan-rgb,34,211,238),.3);font:600 13px/1.2 var(--font,inherit);color:#fff;animation:wvAns 5s ease infinite}
.wv-ans i{font:700 10px/1 var(--font-mono,monospace);letter-spacing:.1em;text-transform:uppercase;font-style:normal;color:var(--cyan);padding:5px 8px;border-radius:999px;background:rgba(var(--cyan-rgb,34,211,238),.12)}
@keyframes wvAns{0%,45%{opacity:0;translate:0 6px}55%,100%{opacity:1;translate:0 0}}
/* 08 ring */
.wv-ring{position:relative;width:120px;height:120px}
.wv-ring svg{width:100%;height:100%;rotate:-90deg}
.wv-ring circle{fill:none;stroke-width:5}
.wv-ring__bg{stroke:rgba(var(--blue-light-rgb),.14)}
.wv-ring__fg{stroke:var(--cyan);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--on,1) * 92);filter:drop-shadow(0 0 6px rgba(var(--cyan-rgb,34,211,238),.8))}
.wv-ring b{position:absolute;inset:0;display:grid;place-content:center;font:800 26px/1 var(--font,inherit);color:#fff;letter-spacing:-.03em;grid-auto-flow:column;align-items:baseline}
.wv-ring b small{font-size:14px;color:var(--cyan)}
.why-cell[data-why="8"] .why-vis::after{content:'Uptime · speed · rankings · leads';position:absolute;bottom:4px;left:0;right:0;text-align:center;font:600 10px/1 var(--font-mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:#6f8098}
.ws-why-bento .why-cell:not([data-why="1"]):not([data-why="2"]):not([data-why="7"]):not([data-why="8"]) .why-copy{flex-direction:column;gap:12px}
.ws-why-bento .why-cell:not([data-why="1"]):not([data-why="2"]):not([data-why="7"]):not([data-why="8"]) p{font-size:clamp(15px,1.15vw,17px)!important}
@media(max-width:1100px){.ws-why-bento.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-why-bento .why-cell[data-why]{grid-column:span 1}.ws-why-bento .why-cell[data-why="1"],.ws-why-bento .why-cell[data-why="7"]{grid-column:span 2}}
@media(max-width:600px){.ws-why-bento.why-grid{grid-template-columns:1fr;gap:10px!important}.ws-why-bento .why-cell[data-why]{grid-column:auto;min-height:0;gap:10px;padding:16px 18px 18px!important}.ws-why-bento .why-vis{flex:0 0 112px;min-height:112px}.ws-why-bento .why-vis>*{scale:.82}.ws-why-bento .why-cell[data-why] .why-copy{flex-direction:row!important}}
@media(prefers-reduced-motion:reduce){.ws-why-bento *{animation:none!important}}
html.ws-saver .ws-why-bento *{animation-play-state:paused!important}

/* ---------- Homepage About: orbit + facts ---------- */
.ws-about13 .about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(40px,6vw,110px);align-items:center}
.ws-about13{position:relative;overflow:hidden}
.ws-about13::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(var(--blue-light-rgb),.07) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--blue-light-rgb),.07) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(60% 70% at 30% 50%,#000,transparent);mask-image:radial-gradient(60% 70% at 30% 50%,#000,transparent);pointer-events:none}
.ao-orbit{container-type:inline-size;position:relative;width:min(100%,520px);aspect-ratio:1;margin:0 auto;display:grid;place-items:center}
.ao-orbit::before{content:'';position:absolute;inset:16%;border-radius:50%;background:radial-gradient(circle,rgba(var(--blue-rgb),.45),transparent 65%);filter:blur(20px)}
.ao-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(var(--blue-light-rgb),.22);animation:aoSpin 48s linear infinite}
.ao-ring--2{inset:15%;border-style:dashed;border-color:rgba(var(--blue-light-rgb),.28);animation-duration:34s;animation-direction:reverse}
.ao-ring::after{content:'';position:absolute;inset:-1px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 70%,rgba(var(--cyan-rgb,34,211,238),.8) 80%,transparent 82%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px))}
.ao-ring span{position:absolute;left:50%;top:50%;width:0;height:0;rotate:var(--a);}
.ao-ring span i{position:absolute;left:0;top:0;font-style:normal;white-space:nowrap;padding:8px 14px;border-radius:999px;font:600 12px/1 var(--font-mono,monospace);letter-spacing:.06em;color:#e3eefb;background:rgba(6,11,20,.88);border:1px solid rgba(var(--blue-light-rgb),.35);box-shadow:0 8px 24px -10px rgba(0,0,0,.8),0 0 18px -8px rgba(var(--blue-rgb),.9)}
.ao-ring--1 span i{translate:-50% calc(-50% - 50cqw)}
.ao-ring--2 span i{translate:-50% calc(-50% - 35cqw)}
.ao-ring span i{animation:aoCounter 48s linear infinite;rotate:calc(-1 * var(--a))}
.ao-ring--2 span i{animation:aoCounter2 34s linear infinite;color:var(--cyan)}
@keyframes aoSpin{to{rotate:360deg}}
@keyframes aoCounter{from{rotate:calc(-1 * var(--a))}to{rotate:calc(-1 * var(--a) - 360deg)}}
@keyframes aoCounter2{from{rotate:calc(-1 * var(--a))}to{rotate:calc(-1 * var(--a) + 360deg)}}
.ao-core{position:relative;width:46%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 40% 30%,rgba(var(--blue-light-rgb),.35),rgba(6,11,20,.92) 70%);border:1px solid rgba(var(--blue-light-rgb),.4);box-shadow:0 0 0 10px rgba(var(--blue-rgb),.06),0 0 60px -10px rgba(var(--blue-rgb),.9),inset 0 0 40px rgba(var(--blue-rgb),.35);overflow:hidden}
.ao-core img{position:relative;width:78%;height:auto;margin-top:18%;filter:drop-shadow(0 12px 30px rgba(0,0,0,.6))}
.ao-gear{position:absolute;inset:6%;width:88%;height:88%;fill:none;stroke:rgba(var(--blue-light-rgb),.35);stroke-width:1;animation:wsSpinS 30s linear infinite}
.ao-scan{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(var(--cyan-rgb,34,211,238),.18),transparent 18%);animation:aoSpin 6s linear infinite;-webkit-mask:radial-gradient(circle,transparent 23%,#000 23.5%,#000 50%,transparent 50.5%);mask:radial-gradient(circle,transparent 23%,#000 23.5%,#000 50%,transparent 50.5%);pointer-events:none}
.ao-copy h2{margin-top:14px}
.ao-copy .section-sub{max-width:60ch}
.ao-facts{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ao-facts li{position:relative;display:grid;gap:8px;padding:18px 18px 16px;border-radius:18px;border:1px solid rgba(var(--blue-light-rgb),.18);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow:hidden}
.ao-facts li::before{content:'';position:absolute;left:18px;right:18px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent)}
.ao-facts b{font:800 clamp(34px,3.4vw,52px)/.9 var(--font,inherit);letter-spacing:-.05em;background:linear-gradient(180deg,#fff,var(--blue-light));-webkit-background-clip:text;background-clip:text;color:transparent}
.ao-facts span{font:500 13px/1.35 var(--font,inherit);color:#a9bbd2}
.ao-cta{display:flex;align-items:center;gap:22px;margin-top:28px;flex-wrap:wrap}
.ao-link{font:600 14px/1 var(--font,inherit);color:#e5eefb;text-decoration:none;border-bottom:1px solid rgba(var(--blue-light-rgb),.5);padding-bottom:4px;transition:color .25s,border-color .25s}
.ao-link:hover{color:var(--cyan);border-color:var(--cyan)}
@media(max-width:900px){
  .ws-about13 .about-layout{grid-template-columns:1fr}
  .ao-orbit{width:min(100%,420px)}
}
@media(max-width:600px){
  .ao-orbit{width:calc(100% - 40px);max-width:330px}
  .ao-ring span i{font-size:10.5px;padding:6px 10px}
  .ao-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .ao-facts li{padding:14px 12px 12px;border-radius:14px}
  .ao-facts span{font-size:11.5px}
}
@media(prefers-reduced-motion:reduce){.ao-ring,.ao-ring span i,.ao-gear,.ao-scan{animation:none!important}}
html.ws-saver .ao-ring,html.ws-saver .ao-ring span i,html.ws-saver .ao-gear,html.ws-saver .ao-scan{animation-play-state:paused}
.ao-cta .btn-primary{gap:10px}
