/* ===== pro pass: depth, light, motion ===== */
.hero.pro{position:relative;background:#000;color:#f5f5f7;padding:96px 22px 30px;overflow:hidden}
.hero.pro .glow{position:absolute;left:50%;top:38%;width:1100px;height:900px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(64,140,255,.38),rgba(120,80,255,.16) 45%,transparent 72%);filter:blur(10px);pointer-events:none}
.hero.pro .eyebrow{color:#a1a1a6;font-size:22px;position:relative}
.hero.pro .lede{color:#d2d2d7;position:relative}
.hero.pro .ctas{position:relative}
.hero.pro .pill.outline{color:#2997ff;border-color:#2997ff}
.hero.pro .fine{color:#6e6e73;position:relative;margin-top:60px}
.grad{background:linear-gradient(180deg,#fff 20%,#9a9aa2);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative}
.hero.pro h1{font-size:clamp(46px,7.6vw,96px);line-height:1.04;letter-spacing:-.035em}
.prod{position:relative;width:min(560px,82%);margin:46px auto 0;animation:float 6s ease-in-out infinite}
.prod img{width:100%;filter:drop-shadow(0 50px 60px rgba(40,110,255,.25)) drop-shadow(0 20px 30px rgba(0,0,0,.6))}
.prod .refl{position:absolute;left:0;top:100%;transform:scaleY(-1);opacity:.16;-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.9),transparent 40%);mask-image:linear-gradient(to top,rgba(0,0,0,.9),transparent 40%);filter:blur(2px);margin-top:-40px}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -10px}}

.soft{background:linear-gradient(#000,#0b0b0f)}
.soft h2{background:linear-gradient(90deg,#64d2ff,#0a84ff 45%,#bf5af2);-webkit-background-clip:text;background-clip:text;color:transparent}
.win{position:relative;width:min(1020px,94%);margin:60px auto 0;border-radius:18px 18px 0 0;background:#1c1c1e;box-shadow:0 -10px 120px rgba(10,132,255,.25),0 40px 80px rgba(0,0,0,.6);transform:perspective(1600px) rotateX(10deg);transform-origin:50% 100%;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.win.in{transform:perspective(1600px) rotateX(0)}
.win-bar{height:38px;display:flex;align-items:center;gap:8px;padding:0 16px;background:#2c2c2e;border-radius:18px 18px 0 0}
.win-bar i{width:12px;height:12px;border-radius:50%;background:#ff5f57}.win-bar i:nth-child(2){background:#febc2e}.win-bar i:nth-child(3){background:#28c840}
.win-bar span{margin-left:14px;font-size:12px;color:#a1a1a6}
.win>img{width:100%;display:block}
.glass{position:absolute;padding:14px 18px;border-radius:16px;background:rgba(40,40,46,.6);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid rgba(255,255,255,.14);color:#f5f5f7;font-size:15px;box-shadow:0 20px 40px rgba(0,0,0,.4)}
.glass b{color:#30d158;margin-right:6px;font-size:18px}
.g1{left:-4%;top:30%}.g2{right:-4%;top:62%}.g2 b{color:#64d2ff}

.tiles{gap:14px;padding:14px}
.tile{border-radius:28px}
.tile.dark{background:radial-gradient(120% 80% at 50% 100%,#14233d 0,#000 62%)}
.tile.light{background:radial-gradient(120% 80% at 50% 100%,#eaf2ff 0,#fff 62%)}
.vis-data svg rect{filter:drop-shadow(0 6px 14px rgba(10,132,255,.35))}
.vis-fig svg{box-shadow:0 30px 60px rgba(0,0,0,.5);border:1px solid #2c2c2e}

.hwsec.pro{background:#000;color:#f5f5f7;overflow:hidden;position:relative}
.hwsec.pro:before{content:"";position:absolute;left:50%;bottom:-220px;width:1200px;height:700px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(191,90,242,.22),transparent 70%);pointer-events:none}
.hwsec.pro .eyebrow{color:#ff9f0a}
.hwsec.pro .lede{color:#d2d2d7}
.hwsec.pro .fine{color:#6e6e73;position:relative}
.trio{position:relative;max-width:980px;margin:70px auto 0;display:flex;justify-content:center;align-items:flex-end;gap:2%}
.trio .t{margin:0;text-align:center}
.trio .t img{filter:drop-shadow(0 30px 30px rgba(0,0,0,.7)) drop-shadow(0 0 40px rgba(100,120,255,.15))}
.trio .l{width:26%}.trio .z{width:31%}.trio .x{width:37%}
.trio figcaption{margin-top:22px;color:#a1a1a6;font-size:15px}
.trio figcaption b{display:block;font-size:clamp(30px,3.6vw,46px);color:#f5f5f7;letter-spacing:-.02em}
.trio figcaption small{font-size:16px;color:#a1a1a6;margin-left:4px;font-weight:500}

.local .desk .dev{background:linear-gradient(180deg,#3a3f4a,#16181d);box-shadow:0 20px 40px rgba(0,0,0,.25)}
.local .desk .files span{background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.07);border:1px solid #f0f0f2}

.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.prod{animation:none}.win{transform:none}}
@media(max-width:560px){.hero.pro h1{font-size:42px}.glass{display:none}.trio figcaption{font-size:12px}}
.hero.pro h1.one{font-size:clamp(34px,5.6vw,72px);white-space:nowrap}@media(max-width:560px){.hero.pro h1.one{white-space:normal;font-size:38px}}
.hero.pro h1.hl{position:relative;line-height:1.02;letter-spacing:-.03em}
.hl span{display:block}
.hl .l1{font-size:clamp(32px,5vw,64px);color:#e8e8ed}
.hl .l1 em{font-style:normal;background:linear-gradient(90deg,#64d2ff,#0a84ff 50%,#bf5af2);-webkit-background-clip:text;background-clip:text;color:transparent}
.hl .l2{font-size:clamp(56px,9.4vw,128px);margin-top:6px;background:linear-gradient(180deg,#fff 25%,#8e8e96);-webkit-background-clip:text;background-clip:text;color:transparent}
@media(max-width:560px){.hl .l1{font-size:28px}.hl .l2{font-size:54px}}
.hl .l2 .ai{font-weight:inherit;font-size:1.16em;line-height:0;letter-spacing:-.02em;margin-right:.12em;background:inherit;-webkit-background-clip:text;background-clip:text;color:transparent;vertical-align:-.02em}
.hl .l2 .ai{font-size:1.283em;vertical-align:-.106em;margin-right:.1em}
.hl .l2{margin-top:clamp(14px,2vw,28px)}.hl .l1{line-height:1.2}
.hero.pro .ctas{margin-top:clamp(28px,3.4vw,44px)}
.soft{padding-bottom:90px}
.ribbon{position:relative;margin:56px 0 0;overflow:hidden;height:clamp(300px,38vw,520px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ribbon .track{display:flex;height:100%;width:max-content;animation:pan 160s linear infinite}
.ribbon img{height:100%;width:auto;max-width:none;display:block}
.ribbon:hover .track{animation-play-state:paused}
@keyframes pan{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ribbon:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 120px 40px #000;pointer-events:none}
.ribbon-meta{display:flex;justify-content:center;gap:56px;margin-top:36px;color:#a1a1a6;font-size:17px;flex-wrap:wrap}
.ribbon-meta b{color:#f5f5f7;font-size:28px;font-weight:700;margin-right:6px}
@media(prefers-reduced-motion:reduce){.ribbon .track{animation:none}}
@media(max-width:560px){.ribbon-meta{gap:18px;font-size:14px}.ribbon-meta b{font-size:22px}}
.ribbon{height:clamp(260px,30vw,420px)}
.ribbon:after{box-shadow:none;background:linear-gradient(#000 0,transparent 10%,transparent 85%,#000 100%)}

/* Turing Bot */
.botsec{background:#f5f5f7;text-align:center;padding:110px 22px}
.botsec .eyebrow{color:#bf5af2}
.botsec h2{font-size:clamp(36px,5vw,64px);font-weight:700;letter-spacing:-.02em}
.bot-grid{max-width:1040px;margin:64px auto 0;display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center;text-align:left}
.bot-steps{list-style:none;padding:0;margin:0;counter-reset:s}
.bot-steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;column-gap:14px;padding:18px 0;border-bottom:1px solid #e3e3e8}
.bot-steps li:before{content:"0" counter(s);grid-row:span 2;font-size:15px;font-weight:600;color:#bf5af2;padding-top:3px}
.bot-steps b{font-size:21px}
.bot-steps span{color:#6e6e73;font-size:15px;margin-top:2px}
.chat{position:relative;background:#fff;border-radius:24px;padding:22px;box-shadow:0 30px 70px rgba(0,0,0,.12)}
.chat-head{font-size:13px;color:#6e6e73;padding:0 4px 14px;border-bottom:1px solid #f0f0f2;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.chat-head .dot{width:8px;height:8px;border-radius:50%;background:#30d158}
.msg{display:flex;gap:10px;margin:12px 0;align-items:flex-start}
.msg i{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:14px;font-weight:600;color:#fff}
.msg.a i{background:linear-gradient(135deg,#0a84ff,#64d2ff)}.msg.e i{background:linear-gradient(135deg,#ff9f0a,#ffd60a)}.msg.r i{background:linear-gradient(135deg,#bf5af2,#ff375f)}
.msg>div{background:#f2f2f7;border-radius:4px 16px 16px 16px;padding:10px 14px;font-size:15px;line-height:1.5}
.msg small{display:block;font-size:11px;color:#8e8e93;margin-bottom:2px}
.msg.u{justify-content:flex-end}.msg.u>div{background:#0071e3;color:#fff;border-radius:16px 4px 16px 16px}.msg.u small{color:#cfe3ff}
.chat-note{position:absolute;right:18px;bottom:-24px;font-size:11px;color:#8e8e93}
.roles{max-width:1040px;margin:56px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.roles div{background:#fff;border-radius:18px;padding:22px;text-align:left}
.roles b{display:block;font-size:19px}
.roles span{font-size:14px;color:#6e6e73}
.botsec .fine{margin-top:34px}
@media(max-width:820px){.bot-grid,.roles{grid-template-columns:1fr}}
/* product wordmarks */
.badge{display:inline-block;font-size:13px;letter-spacing:.06em;color:#a1a1a6;border:1px solid #3a3a3c;border-radius:980px;padding:5px 14px;margin-bottom:18px}
.badge.light{color:#6e6e73;border-color:#d2d2d7}
.wordmark{font-size:clamp(56px,8.6vw,112px);font-weight:700;letter-spacing:-.045em;line-height:1;margin:0 0 18px}
.wm-work{background:linear-gradient(90deg,#64d2ff,#0a84ff 50%,#5e5ce6);-webkit-background-clip:text;background-clip:text;color:transparent}
.wm-bot{background:linear-gradient(90deg,#bf5af2,#ff375f 55%,#ff9f0a);-webkit-background-clip:text;background-clip:text;color:transparent}
.soft h2,.botsec h2{font-size:clamp(26px,3.2vw,40px);font-weight:600;letter-spacing:-.01em}
.soft h2{background:none;-webkit-background-clip:initial;background-clip:initial;color:#f5f5f7}
.wm-bot{background:linear-gradient(90deg,#a78bfa,#7c3aed 45%,#4f46e5);-webkit-background-clip:text;background-clip:text;color:transparent}
.botsec .bot-steps li:before{color:#7c3aed}
.soft .work-sub{color:#a1a1a6;font-size:clamp(17px,1.8vw,22px);margin-top:12px}
.ribbon-meta{align-items:center;gap:28px;color:#f5f5f7;font-size:clamp(20px,2.2vw,28px);font-weight:600;letter-spacing:.04em}
.ribbon-meta i{width:6px;height:6px;border-radius:50%;background:#0a84ff;display:inline-block}
@media(max-width:560px){.ribbon-meta{gap:14px;font-size:18px}}
.wordmark{line-height:1.12;padding-bottom:.1em;margin-bottom:6px}
.bot-shot{max-width:1040px;margin:56px auto 0;border-radius:18px;overflow:hidden;box-shadow:0 40px 90px rgba(76,29,149,.22),0 10px 30px rgba(0,0,0,.08);border:1px solid #e5e5ea}
.bot-shot img{width:100%;display:block}
.bot-steps.row{max-width:1040px;margin:48px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:left}
.bot-steps.row li{border-bottom:none;border-top:2px solid #7c3aed;padding-top:16px}
@media(max-width:820px){.bot-steps.row{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.bot-steps.row{grid-template-columns:1fr}}
