@font-face{font-family:Poppins;font-style:normal;font-weight:300;src:url(/ai-software-factory/fonts/poppins-300.woff2)format("woff2");font-display:swap}@font-face{font-family:Poppins;font-style:normal;font-weight:500;src:url(/ai-software-factory/fonts/poppins-500.woff2)format("woff2");font-display:swap}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;src:url(/ai-software-factory/fonts/space-mono-400.woff2)format("woff2");font-display:swap}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;src:url(/ai-software-factory/fonts/space-mono-700.woff2)format("woff2");font-display:swap}:root{--teal:#00af9d;--blue:#2e1cfa;--midnight:#07193b;--slate:#f8f8ff;--plum:#845cff;--cyan:#52ffff;--magenta:#ff30fb;--grey:#737985;--ink:var(--midnight);--ground:#fff;--ground2:var(--slate);--mono:"Space Mono",ui-monospace,monospace;--sans:"Poppins",system-ui,sans-serif;--pad:clamp(18px,2.4vw,44px);--maxw:none}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:18px;font-weight:300;line-height:32px}h1,h2,h3{text-wrap:balance;letter-spacing:-.01em;font-weight:500;line-height:1}h1{letter-spacing:-.02em;font-size:clamp(50px,8.7vw,138px)}h2{font-size:clamp(36px,5.6vw,88px)}h3{font-size:clamp(20px,2vw,24px);line-height:1.2}p{max-width:68ch}.intro{max-width:74ch;font-size:clamp(18px,1.5vw,22px);line-height:1.65}a{color:inherit}img{max-width:100%;display:block}button{font:inherit;cursor:pointer}::selection{background:var(--cyan);color:var(--midnight)}.vh{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:13px;line-height:1.5}.wrap{max-width:var(--maxw);padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}.btn{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--midnight);color:#fff;border:none;padding:19px 34px 17px;font-size:15px;text-decoration:none;transition:background .15s;display:inline-block}.btn:hover{background:var(--blue)}.btn:focus-visible{outline:3px solid var(--magenta);outline-offset:2px}a:focus-visible{outline:3px solid var(--magenta);outline-offset:2px}button:focus-visible{outline:3px solid var(--magenta);outline-offset:2px}input:focus-visible{outline:3px solid var(--magenta);outline-offset:2px}select:focus-visible{outline:3px solid var(--magenta);outline-offset:2px}.btn.teal{background:var(--teal);color:var(--midnight)}.btn.teal:hover{background:var(--cyan)}.btn.ghost{color:var(--midnight);box-shadow:inset 0 0 0 2px var(--midnight);background:0 0}.btn.ghost:hover{background:var(--midnight);color:#fff}.btn.on-dark{color:var(--midnight);background:#fff}.btn.on-dark:hover{background:var(--cyan)}.tag{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--magenta);box-shadow:inset 0 0 0 1.5px var(--magenta);vertical-align:middle;padding:4px 9px 3px;font-size:11px;display:inline-block}.site-banner{background:var(--cyan);color:var(--midnight);font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;padding:10px var(--pad) 9px;flex-wrap:wrap;justify-content:center;gap:2px 44px;font-size:12px;font-weight:700;display:flex}.site-banner a{color:var(--midnight);text-decoration:none}.site-banner a:hover{text-underline-offset:3px;text-decoration:underline}.site-banner .ar{margin-left:2px}@media (max-width:640px){.site-banner{letter-spacing:.06em;padding:9px var(--pad) 8px;row-gap:3px;font-size:11px}.site-banner a{white-space:nowrap}}nav{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border-bottom:1px solid #e3e3ef;position:sticky;top:0}.nav-in{max-width:var(--maxw);padding:0 var(--pad);align-items:stretch;gap:26px;height:64px;margin:0 auto;display:flex}.nav-logo{align-items:stretch;margin:14px 0;text-decoration:none;display:flex}.nav-logo .lb{align-items:center;padding:0 12px;display:flex}.nav-logo .lb.t{background:var(--teal);color:#fff}.nav-logo .lb.t svg{width:152px;height:auto;display:block}.nav-logo .lb.m{background:var(--midnight);color:#fff;font-family:var(--mono);letter-spacing:.08em;padding:0 10px;font-size:13px}.nav-logo .lb.e{padding:0}.nav-logo .lb.e svg,.nav-logo .lb.e img{width:36px;height:36px;display:block}.nav-links{align-items:center;gap:4px;margin-left:auto;display:flex}.nav-links a{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--midnight);padding:8px 12px;font-size:12.5px;text-decoration:none}.nav-links a:hover{color:var(--blue)}.nav-links a.active{background:var(--midnight);color:#fff}.nav-in .reg{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--teal);color:var(--midnight);align-self:center;padding:8px 12px;font-size:12.5px;text-decoration:none}.nav-in .reg:hover{background:var(--cyan);color:var(--midnight)}.nav-links a.cfp{box-shadow:inset 0 0 0 1px var(--midnight);margin-left:10px;padding:6px 10px;font-size:11px}.nav-links a.cfp:hover{background:var(--midnight);color:#fff}.nav-menu{display:none}@media (max-width:960px){.nav-in{align-items:center;gap:8px;height:auto;padding-top:10px;padding-bottom:10px}.nav-logo{margin:0}.nav-logo .lb{padding:7px 10px}.nav-logo .lb.e{padding:0}.nav-logo .lb.e svg,.nav-logo .lb.e img{width:31px;height:31px}.nav-logo .lb.m.asf{padding:0 8px;font-size:11px}.nav-in .reg{margin-left:auto;line-height:1.4}.nav-menu{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;box-shadow:inset 0 0 0 1px var(--midnight);color:var(--midnight);background:0 0;border:none;padding:8px 12px;font-size:12.5px;line-height:1.4;display:inline-block}nav.open .nav-menu{background:var(--midnight);color:#fff;box-shadow:none}.nav-links{background:#fff;border-bottom:1px solid #e3e3ef;flex-direction:column;align-items:stretch;gap:0;margin-left:0;display:none;position:absolute;top:100%;left:0;right:0}nav.open .nav-links{display:flex}.nav-links a{padding:15px var(--pad);border-top:1px solid #e3e3ef;font-size:13px;line-height:1.4}.nav-links a.cfp{box-shadow:none;padding:15px var(--pad);margin:0;font-size:13px}.nav-links a.cfp:hover{color:var(--blue);background:0 0}}@media (max-width:420px){.nav-logo .lb{padding:6px 8px}.nav-logo .lb.t svg{width:100px}.nav-logo .lb.m{padding:0 8px;font-size:12px}.nav-in .reg,.nav-menu{padding:8px 10px;font-size:12px}}@media (max-width:360px){.nav-logo .lb.t svg{width:92px}.nav-logo .lb.m{display:none}}#hero-b .slide{height:calc(100svh - var(--navh,64px));background:#fff;min-height:520px;position:relative;overflow:hidden}#hero-b .slide>*{position:absolute}.sl-cell{overflow:hidden}.sl-cell img{object-fit:cover;width:100%;height:100%;display:block}.sl-imgA{width:83.41%;height:49.95%;top:0;left:0}.sl-grad-top{width:16.59%;height:36.06%;top:0;left:83.41%}.sl-blue{background:var(--blue);color:#fff;letter-spacing:.04em;white-space:nowrap;align-items:center;width:40.08%;height:13.89%;padding:0 clamp(16px,2.4vw,34px);font-size:clamp(18px,4.3vw,60px);font-weight:300;display:flex;top:36.06%;left:43.33%}.sl-grey{width:16.59%;height:13.89%;top:36.06%;left:83.41%}.sl-teal{background:var(--teal);color:#fff;align-items:center;width:43.33%;height:13.8%;padding:0 clamp(18px,2.6vw,40px);display:flex;top:49.95%;left:0}.sl-teal svg{width:100%;max-width:520px;height:auto}.sl-imgB{width:40.08%;height:50.05%;top:49.95%;left:43.33%}.sl-2027{background:var(--midnight);color:#fff;width:16.59%;height:13.8%;font-family:var(--mono);justify-content:center;align-items:center;font-size:clamp(18px,2.7vw,40px);display:flex;top:49.95%;left:83.41%}.sl-imgC{width:43.33%;height:36.25%;top:63.75%;left:0}.sl-pale{width:16.59%;height:36.25%;top:63.75%;left:83.41%}.sl-rule{z-index:2;background:#fff}.sl-rule.v{width:4px;top:0;bottom:0;transform:translate(-2px)}.sl-rule.h{height:4px;transform:translateY(-2px)}.sl-rule.v1{left:43.33%}.sl-rule.v2{left:83.41%}.sl-rule.h1{top:36.06%;left:0;right:0}.sl-rule.h2{top:49.95%;left:0;right:0}.sl-rule.h3{top:63.75%;left:0;right:0}.sl-tag{z-index:3;color:#fff;letter-spacing:-.01em;text-shadow:0 1px 2px #07193b80,0 4px 24px #07193b73;max-width:43.33%;padding:clamp(16px,2.2vw,36px) 0 0 clamp(16px,2.4vw,40px);font-size:clamp(17px,2.6vw,44px);font-weight:500;line-height:1.16;top:63.75%;left:0}.sl-meta{z-index:3;width:43.33%;font-family:var(--sans);color:#fff;text-shadow:0 1px 2px #07193b80,0 3px 18px #07193b73;flex-direction:column;justify-content:flex-end;gap:12px;padding:0 0 clamp(14px,2vw,32px) clamp(16px,2.4vw,40px);font-size:clamp(15px,1.35vw,20px);font-weight:500;line-height:1.45;display:flex;bottom:0;left:0}.sl-meta>div{align-items:center;gap:11px;display:flex}.sl-meta .mi{color:#fff;filter:drop-shadow(0 1px 2px #07193b8c);width:21px;height:21px}@media (max-width:860px){.sl-meta{display:none}}@media (min-width:861px){.lead-in{display:none}}nav.entr .nav-logo{visibility:hidden;opacity:0;transition:opacity .25s,visibility 0s .25s}nav.entr.pinned .nav-logo{visibility:visible;opacity:1;transition:opacity .25s}nav.entr:not(.pinned) .nav-in .reg,nav.entr:not(.pinned) .nav-links .cfp{display:none}@media (max-width:960px){nav.entr:not(.pinned) .nav-logo{display:none}nav.entr:not(.pinned) .nav-menu{margin-left:auto}}.lead-in{padding-top:clamp(28px,3vw,44px)}.lead-in .li-grid{flex-wrap:wrap;align-items:center;gap:26px 76px;padding-top:clamp(34px,3.8vw,54px);padding-bottom:clamp(16px,1.8vw,26px);display:flex}.li-h{flex:460px;max-width:15em;font-size:clamp(30px,3.4vw,50px);line-height:1.08}.lead-in .hcg-meta.cols{flex-direction:column;gap:16px;font-size:clamp(15px,1.15vw,17px)}@media (max-width:640px){#hero-b .slide{aspect-ratio:4/3;height:auto;min-height:0}.sl-blue{padding:0 10px;font-size:15px}.sl-2027{font-size:14px}.sl-rule.v{width:2px;transform:translate(-1px)}.sl-rule.h{height:2px;transform:translateY(-1px)}}canvas.glitch{width:100%;height:100%;display:block}section{padding:clamp(64px,9vw,150px) 0}section.tight{padding:clamp(36px,5vw,64px) 0}section.flush{padding:0}.meta-row{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--midnight);flex-wrap:wrap;gap:10px 34px;font-size:15px;display:flex}.meta-row .dot{color:var(--magenta)}.meta-row a,.hero-note a{color:inherit;text-underline-offset:3px;text-decoration:underline}.meta-row a:hover,.hero-note a:hover{color:var(--blue)}.hero-head{flex-direction:column;gap:clamp(30px,3.4vw,48px);padding-top:clamp(52px,7vw,110px);padding-bottom:clamp(48px,6.5vw,96px);display:flex}.hero-head h1{max-width:none}.hero-note{color:var(--grey);max-width:60ch;margin-top:clamp(-18px,-1.6vw,-8px);font-size:clamp(16px,1.3vw,19px);line-height:1.6}.cta-note{color:var(--grey);max-width:40ch}.hcg-meta.cols{flex-direction:row;gap:clamp(24px,4.5vw,72px);font-size:clamp(16px,1.5vw,21px);line-height:1.75}.hcg-meta.cols>div{align-items:flex-start;gap:14px;display:flex}.mi{width:clamp(20px,1.7vw,25px);height:clamp(20px,1.7vw,25px);color:var(--teal);stroke-linecap:butt;stroke-linejoin:miter;flex:none;margin-top:.35em}.logostrip{background:#fff;border-bottom:1px solid #e3e3ef;padding:clamp(18px,2vw,30px) 0 clamp(30px,3.4vw,52px)}.logostrip .lbl{color:var(--grey);margin-bottom:clamp(20px,2.2vw,32px);display:block}.lm{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.lm-in{width:max-content;color:var(--midnight);align-items:center;gap:clamp(44px,5.5vw,88px);animation:50s linear infinite tick;display:flex}.lm-in .logo{white-space:nowrap;align-items:center;height:46px;display:flex}.lm-in .logo--text{letter-spacing:.01em;font-size:19px;font-weight:500;line-height:1}.lm-in .logo svg{fill:currentColor;width:auto;height:34px;display:block}.lm-in .logo[title=Google] svg{--lg-c1:#4285f4;--lg-c2:#34a853;--lg-c3:#fbbc05;--lg-c4:#ea4335}.lm-in .logo[title=Microsoft] svg{--lg-c1:#f25022;--lg-c2:#7fba00;--lg-c3:#00a4ef;--lg-c4:#ffb900}.lm-in .logo[title="Amazon Web Services"] svg{--lg-c1:#252f3e;--lg-c2:#f90}.lm-in .logo[title=Thoughtworks] svg{--lg-c1:#f2617a;--lg-c2:#003d4f}.lm-in .logo[title=Netflix] svg{fill:#e50914}.lm-in .logo[title=Spotify] svg{fill:#1ed760}.lm-in .logo[title=LinkedIn] svg{fill:#0a66c2}.lm-in .logo[title=Airbnb] svg{fill:#ff5a5f}.lm-in .logo[title=Duolingo] svg{fill:#58cc02}.lm-in .logo[title=SAP] svg{fill:#0faaff}.lm-in .logo[title=Broadcom] svg{fill:#e31837}.lm-in .logo[title=Grubhub] svg{fill:#ff8000}.lm-in .logo[title=Tinder] svg{fill:url(#lgrad-tinder)}.lm-in .logo[title=Meta] svg{fill:url(#lgrad-meta)}.lm-in .logo--text[title=Wells\ Fargo]{color:#d71e28}.lm-in .logo[title=Microsoft] svg{height:27px}.lm-in .logo[title=LinkedIn] svg,.lm-in .logo[title=Duolingo] svg,.lm-in .logo[title=Spotify] svg,.lm-in .logo[title=Broadcom] svg{height:29px}.lm-in .logo[title=Meta] svg,.lm-in .logo[title=Airbnb] svg,.lm-in .logo[title=SAP] svg{height:40px}.lm-in .logo[title="Amazon Web Services"] svg,.lm-in .logo[title=Uber] svg,.lm-in .logo[title=Grubhub] svg{height:44px}.lm-in .logo--wm svg{height:14px}.lm-in .logo[title=Thoughtworks] svg{height:25px}@media (prefers-reduced-motion:reduce){.lm-in{animation:none}}.hcg-meta{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;flex-direction:column;gap:10px;font-size:13px;line-height:1.7;display:flex}.hcg-meta>div{white-space:nowrap}.hcg-meta .sq{background:var(--teal);vertical-align:-1px;width:13px;height:13px;margin-right:10px;display:inline-block}.cta-row{flex-wrap:wrap;gap:14px;display:flex}.lede{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:start;gap:clamp(28px,6vw,120px);display:grid}.lede .copy{flex-direction:column;gap:22px;display:flex}@media (max-width:860px){.lede{grid-template-columns:1fr}}.checker{aspect-ratio:4;grid-template-columns:repeat(4,1fr);display:grid}.checker div{width:100%;height:100%;position:relative;overflow:hidden}.checker img{object-fit:cover;width:100%;height:100%;display:block}@media (max-width:640px){.checker{aspect-ratio:2;grid-template-columns:repeat(2,1fr)}}.img-band{grid-template-columns:repeat(5,1fr);display:grid}.img-band.four{grid-template-columns:repeat(4,1fr)}.img-band .swap,.checker .swap{position:relative}.img-band .swap img,.checker .swap img{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.img-band .swap img.on,.checker .swap img.on{opacity:1}.img-band>div{aspect-ratio:1;position:relative;overflow:hidden}.img-band img{object-fit:cover;width:100%;height:100%;display:block}.img-band .crop-high img{object-position:center 12%}@media (max-width:640px){.img-band,.img-band.four{grid-template-columns:repeat(3,1fr)}.img-band>div:nth-child(n+4){display:none}}.video-band video{object-fit:cover;object-position:50% 50%;width:100%;height:auto;min-height:200px;display:block}.photo-hero{position:relative}.photo-hero>img{object-fit:cover;width:100%;height:clamp(340px,46vw,560px);display:block}.photo-hero.swap{height:clamp(340px,46vw,560px)}.photo-hero.swap>img{opacity:0;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.photo-hero.swap>img.on{opacity:1}.photo-hero .cap{z-index:2;flex-wrap:wrap;display:flex;position:absolute;bottom:0;left:0}.photo-hero .cap span{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;padding:15px 22px 13px;font-size:13px;display:flex}.photo-hero .cap .c1{background:var(--teal);color:var(--midnight)}.photo-hero .cap .c2{background:var(--midnight);color:#fff}.hack-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:0;margin-top:48px;display:grid}.hack-grid .big{grid-row:1/3}.hack-grid>div{overflow:hidden}.hack-grid>div:not(.big){aspect-ratio:4/3}.hack-grid img{object-fit:cover;width:100%;height:100%;display:block}.hack-grid.rules{background:#fff;grid-template-columns:minmax(0,3fr) minmax(0,2fr) minmax(0,2fr);gap:4px}@media (max-width:700px){.hack-grid.rules{grid-template-columns:1fr 1fr}.hack-grid.rules .big{grid-area:auto/1/auto/3}}.hack-grid .swap{position:relative}.hack-grid .swap img{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.hack-grid .swap img.on{opacity:1}.collage{background:#fff;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(170px,21vw,310px);gap:4px;display:grid}.collage>div{position:relative;overflow:hidden}.collage .wide2{grid-column:span 2}.collage .swap img{object-fit:cover;object-position:center 22%;opacity:0;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.collage .swap img.on{opacity:1}.collage .crop-high img{object-position:center 12%}@media (max-width:700px){.collage{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(120px,28vw,200px);max-height:calc(2*clamp(120px,28vw,200px) + 4px);overflow:hidden}}.hack-grid.four{grid-template-columns:repeat(4,1fr)}.hack-grid.four>div,.hack-grid.four>.big{aspect-ratio:1;grid-area:auto;min-height:0}@media (max-width:700px){.hack-grid.four{grid-template-columns:1fr 1fr}.hack-grid.four .big{grid-column:1/3}.hack-grid{grid-template-columns:1fr}.hack-grid .big{grid-row:auto}.hack-grid .big img{aspect-ratio:4/3.6}}.manifesto{background:var(--midnight);color:#fff;padding:clamp(34px,3.8vw,58px) 0}.mf{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(16px,2.4vw,40px);font-size:clamp(14px,1.45vw,21px);display:flex}.mf .mf-i{white-space:nowrap;align-items:center;gap:14px;display:flex}.mf .sq{flex:none;width:12px;height:12px}.mf .sq.t{background:var(--teal)}.mf .sq.b{background:var(--blue)}.mf .sq.m{background:var(--magenta)}.mf .sq.c{background:var(--cyan)}.ticker{background:var(--midnight);color:#fff;border-top:4px solid var(--blue);padding:13px 0 11px;overflow:hidden}.ticker .tk-in{white-space:nowrap;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;gap:0;font-size:13px;animation:28s linear infinite tick;display:flex}.ticker span{padding-right:56px}.ticker .m{color:var(--cyan)}@keyframes tick{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.ticker .tk-in{animation:none}}.video-sec{background:var(--midnight);color:#fff;padding:0}.video-sec p{color:#b9c0d4}.vhead{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:clamp(24px,4vw,80px);padding-bottom:clamp(40px,5vw,72px);display:grid}@media (max-width:860px){.vhead{grid-template-columns:1fr}}.player{aspect-ratio:16/9;background:#0b2148;position:relative;overflow:hidden}.player canvas,.player .poster,.player iframe{border:0;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.player .poster{object-fit:cover}.player .play{color:#fff;background:#07193b8c;border:2px solid #fff;justify-content:center;align-items:center;width:92px;height:92px;margin:auto;transition:background .15s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.player .play:hover{background:var(--blue)}.player .play svg{width:30px;height:30px;margin-left:5px}.player .slot{white-space:nowrap;color:#fff;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;background:#07193bcc;padding:10px 16px;font-size:12px;position:absolute;bottom:0;left:0}.vid-grid{grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,34px) clamp(16px,2vw,26px);margin-top:40px;display:grid}@media (max-width:900px){.vid-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.vid-grid{grid-template-columns:1fr}}.vid{flex-direction:column;gap:9px;scroll-margin-top:96px;display:flex}.vid .th{aspect-ratio:16/9;background:var(--midnight);position:relative;overflow:hidden}.vid .th-btn{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;display:block;position:relative}.vid .th img{object-fit:cover;width:100%;height:100%;transition:transform .2s}.vid .th-btn:hover img{transform:scale(1.03)}.vid .th .pb{background:var(--midnight);color:#fff;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:6px 11px 5px;font-size:11px;position:absolute;bottom:0;left:0}.vid .th-btn:hover .pb{background:var(--blue)}.vid .th iframe{border:0;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.vid .th-close{z-index:2;cursor:pointer;background:var(--midnight);color:#fff;border:none;padding:9px 11px;font-size:15px;line-height:1;position:absolute;top:0;right:0}.vid .th-close:hover{background:var(--magenta);color:var(--midnight)}.vid-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vid .yr{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);font-size:11px}.vid .yr.kind{color:var(--magenta);box-shadow:inset 0 0 0 1.5px var(--magenta);padding:3px 7px 2px}.vid b{font-size:16px;font-weight:500;line-height:1.35}.vid-spk{color:var(--grey);max-width:none;font-size:14px;line-height:1.5}.vid-spk a{color:var(--midnight);text-underline-offset:3px;text-decoration-color:#c9ceda}.vid-spk a:hover{color:var(--blue)}.vid.target .th{outline:3px solid var(--teal);outline-offset:3px}.spk-play{background:var(--midnight);color:#fff;padding:5px 6px 4px;font-size:9px;line-height:1;position:absolute;bottom:0;left:0}.spk-card-link:hover .spk-play{background:var(--blue)}.spk-card-link{color:inherit;text-decoration:none}.spk-card-link .ph{transition:opacity .15s}.spk-card-link:hover .ph{opacity:.88}.spk-card-link:hover b{color:var(--blue)}.spk{scroll-margin-top:96px}.spk.target .ph{outline:3px solid var(--teal);outline-offset:3px}.sess-head{flex-direction:column;gap:clamp(16px,1.8vw,24px);padding-top:clamp(34px,4.5vw,64px);padding-bottom:clamp(26px,3vw,44px);display:flex}.sess-head h1{max-width:22ch;font-size:clamp(32px,4.6vw,66px);line-height:1.05}.sess-head .title-blk{margin-left:calc(-1 * var(--pad));padding:clamp(18px,2.2vw,30px) clamp(18px,2.2vw,30px) clamp(20px,2.4vw,34px) var(--pad);flex-direction:column;gap:clamp(16px,1.8vw,24px);margin-right:25%;display:flex}@media (max-width:640px){.sess-head .title-blk{margin-right:18px}}.hue-teal .title-blk{background:var(--teal)}.hue-magenta .title-blk{background:var(--magenta)}.hue-cyan .title-blk{background:var(--cyan)}.title-blk .dot{color:var(--midnight)}.sess-back{color:var(--grey);text-decoration:none}.sess-back:hover{color:var(--blue)}.sess-by{color:var(--midnight);max-width:none;font-size:clamp(16px,1.4vw,19px)}.sess-by a{text-underline-offset:3px;text-decoration-color:#c9ceda}.sess-by a:hover{color:var(--blue)}.sess-player{aspect-ratio:16/9;background:var(--midnight);max-width:1100px;position:relative;overflow:hidden}.sess-player .th-btn{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;display:block}.sess-player img{object-fit:cover;width:100%;height:100%}.sess-player .pb{background:var(--midnight);color:#fff;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:11px 16px 9px;font-size:13px;position:absolute;bottom:0;left:0}.sess-player .th-btn:hover .pb{background:var(--blue)}.sess-player iframe{border:0;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.sess-yt{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:13px}.sess-yt a{color:var(--blue);text-decoration:none}.sess-yt a:hover{text-decoration:underline}.vid b a{text-decoration:none}.vid b a:hover{color:var(--blue)}.sess-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:clamp(18px,2.4vw,36px);max-width:none;margin:6px 0 4px;display:grid}.sess-stats>div{border-top:2px solid var(--teal);flex-direction:column;gap:6px;padding-top:15px;display:flex}.sess-stats dt{letter-spacing:-.02em;font-size:clamp(30px,3.4vw,44px);font-weight:500;line-height:1}.sess-stats dd{color:var(--grey);font-size:14px;line-height:1.45}.tracks{grid-template-columns:repeat(3,1fr);gap:0;margin-top:44px;display:grid}.track{min-height:350px;color:var(--midnight);flex-direction:column;gap:16px;padding:clamp(26px,2.8vw,44px);display:flex}.track .no{font-family:var(--mono);letter-spacing:.1em;opacity:.85;font-size:13px}.track h3{margin-top:auto}.track p{color:#07193bcc;font-size:16px;line-height:26px}.track.t1{background:color-mix(in srgb,var(--teal) 13%,#fff)}.track.t2{background:color-mix(in srgb,var(--cyan) 30%,#fff)}.track.t3,.track.tm{background:color-mix(in srgb,var(--magenta) 12%,#fff)}@media (max-width:860px){.tracks{grid-template-columns:1fr}.track{min-height:0}.track h3{margin-top:12px}}.formats-lbl{color:var(--grey);margin-top:34px;display:block}.formats{grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px);max-width:1000px;margin-top:18px;display:grid}.formats>div{border-top:2px solid var(--teal);flex-direction:column;gap:9px;padding-top:15px;display:flex}.formats .fl{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--midnight);font-size:13px}.formats .fd{color:var(--grey);font-size:16px;line-height:26px}@media (max-width:760px){.formats{grid-template-columns:1fr}}.spk-grid{grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.2vw,32px) clamp(20px,2.4vw,40px);margin-top:44px;display:grid}.spk-grid.wide{grid-template-columns:repeat(3,1fr);column-gap:clamp(24px,3vw,52px)}@media (max-width:1080px){.spk-grid,.spk-grid.wide{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.spk-grid,.spk-grid.wide{grid-template-columns:1fr}}.spk{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:clamp(14px,1.4vw,20px);display:grid}.spk .ph{aspect-ratio:1;width:clamp(100px,8.4vw,132px);position:relative;overflow:hidden}.spk .ph img{object-fit:cover;object-position:center 20%;width:100%;height:100%}.spk .ph{isolation:isolate}.spk .ph:after{content:"";z-index:0;pointer-events:none;mix-blend-mode:color;opacity:.3;position:absolute;top:0;bottom:0;left:0;right:0}.spk:nth-child(5n+1) .ph:after{background:var(--blue)}.spk:nth-child(5n+2) .ph:after{background:var(--magenta)}.spk:nth-child(5n+3) .ph:after{background:var(--teal)}.spk:nth-child(5n+4) .ph:after{background:var(--plum)}.spk:nth-child(5n+5) .ph:after{background:var(--cyan)}.spk:nth-child(5n+1) .ph{background:var(--blue)}.spk:nth-child(5n+2) .ph{background:var(--magenta)}.spk:nth-child(5n+3) .ph{background:var(--teal)}.spk:nth-child(5n+4) .ph{background:var(--plum)}.spk:nth-child(5n+5) .ph{background:var(--cyan)}.spk-grid.wide .spk{align-items:stretch;gap:0}.spk-grid.wide .spk .ph{aspect-ratio:auto;align-self:stretch;min-height:clamp(100px,8.4vw,132px)}.spk-grid.wide .spk .ph img{object-fit:contain;object-position:center bottom}.spk-grid.wide .spk-txt{justify-content:center;gap:5px;padding:14px 96px 14px 16px;position:relative}.spk-grid.wide .spk:nth-child(5n+1){background:color-mix(in srgb,var(--blue) 12%,#fff)}.spk-grid.wide .spk:nth-child(5n+2){background:color-mix(in srgb,var(--magenta) 12%,#fff)}.spk-grid.wide .spk:nth-child(5n+3){background:color-mix(in srgb,var(--teal) 13%,#fff)}.spk-grid.wide .spk:nth-child(5n+4){background:color-mix(in srgb,var(--plum) 26%,#fff)}.spk-grid.wide .spk:nth-child(5n+5){background:color-mix(in srgb,var(--cyan) 30%,#fff)}.spk-mark{max-width:clamp(74px,7.5vw,118px);height:clamp(18px,1.7vw,27px);color:var(--midnight);opacity:.72;justify-content:flex-end;align-items:center;display:flex;position:absolute;top:clamp(14px,1.1vw,18px);right:clamp(16px,1.25vw,20px)}.spk-mark svg{fill:currentColor;width:auto;max-width:clamp(74px,7.5vw,118px);height:100%;display:block}.spk-mark[title=BNY]{height:clamp(15px,1.4vw,22px)}.spk-mark[title=Uber],.spk-mark[title=SAP],.spk-mark[title=Grubhub],.spk-mark[title=AWS]{height:clamp(23px,2.15vw,34px)}.spk-mark.is-text{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;text-align:right;font-size:clamp(10px,.85vw,13px);line-height:1.15}.spk-mark.is-text[title=DX]{font-size:clamp(14px,1.3vw,19px)}.sig-drop{z-index:0;pointer-events:none;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.spk .ph .spk-play{z-index:1}.spk .ph .mgm{font-family:var(--mono);color:#fff;justify-content:center;align-items:center;font-size:22px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.spk-txt{flex-direction:column;gap:4px;min-width:0;padding-top:1px;display:flex}.spk b{font-size:clamp(16px,1.3vw,18px);font-weight:500;line-height:1.3}.spk .ti{color:var(--grey);font-size:15px;line-height:1.5}.spk .co{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--blue);margin-top:4px;font-size:13px}.spk-grid:not(.wide) .spk-txt{align-self:stretch;padding-bottom:0}.spk-grid:not(.wide) .spk .co{margin-top:auto;padding-top:10px}.band{background:var(--midnight);color:#fff}.band .in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;display:flex}.band p{color:#b9c0d4}.prose{flex-direction:column;gap:24px;max-width:74ch;display:flex}.prose h2{margin-top:20px;font-size:clamp(23px,2.4vw,32px)}.prose h3{font-size:clamp(17px,1.5vw,20px)}.prose ul{flex-direction:column;gap:11px;padding-left:24px;list-style:outside;display:flex}.prose li{line-height:30px}.prose li::marker{color:var(--teal)}.prose a{color:var(--blue);text-underline-offset:3px}.prose .callout{background:var(--slate);flex-direction:column;gap:14px;padding:clamp(24px,2.6vw,38px);display:flex;box-shadow:inset 0 0 0 1px #e3e3ef}.prose .callout p{max-width:none}.prose .table-wrap{overflow-x:auto}.prose table{border-collapse:collapse;min-width:560px;font-size:15px;line-height:24px}.prose th,.prose td{text-align:left;vertical-align:top;border:1px solid #e3e3ef;padding:12px 14px}.prose th{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--slate);font-size:12px}.faq-list{max-width:74ch}.faq-list details{border-top:1px solid #e3e3ef}.faq-list details:last-child{border-bottom:1px solid #e3e3ef}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:22px;padding:21px 0 19px;font-size:clamp(17px,1.5vw,20px);font-weight:500;line-height:1.35;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-family:var(--mono);color:var(--teal);flex:none;font-size:22px;line-height:1;transform:translateY(2px)}.faq-list details[open] summary:after{content:"−"}.faq-list summary:hover{color:var(--blue)}.faq-list .fa{flex-direction:column;gap:12px;padding:0 0 24px;display:flex}.faq-list .fa p{color:var(--grey);max-width:64ch;font-size:16px;line-height:27px}.faq-list .fa a{color:var(--midnight);text-underline-offset:3px}.faq-list .fa a:hover{color:var(--blue)}.faq-list summary .tag{margin-left:2px}.sched-head{flex-direction:column;gap:14px;max-width:74ch;display:flex}.sched-head h2{font-size:clamp(26px,3vw,40px)}.day-tabs{flex-wrap:wrap;gap:0;margin-top:clamp(30px,3.4vw,48px);display:flex}.day-tabs button{text-align:left;background:var(--slate);color:var(--midnight);border:none;flex-direction:column;gap:5px;padding:15px 26px 14px;transition:background .15s;display:flex;box-shadow:inset 0 0 0 1px #e3e3ef}.day-tabs .dt{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:14px}.day-tabs .dl{color:var(--grey);font-size:14px;line-height:1.35}.day-tabs button.on{background:var(--midnight);color:#fff}.day-tabs button.on .dl{color:#b9c0d4}.day-tabs button:hover:not(.on){background:var(--cyan)}@media (max-width:640px){.day-tabs button{flex:100%}}.sched{margin-top:0}.slot{border-bottom:1px solid #e3e3ef;grid-template-columns:110px minmax(0,1fr);gap:18px;padding:20px 0;display:grid}.slot time{font-family:var(--mono);letter-spacing:.08em;color:var(--grey);padding-top:3px;font-size:14px}.slot .sl-mid{flex-direction:column;gap:5px;min-width:0;display:flex}.slot b{font-size:19px;font-weight:500}.slot .d{color:var(--grey);font-size:15px;line-height:24px}.slot{border-left:3px solid #0000;padding-left:16px}.slot.k-sessions{border-left-color:var(--teal)}.slot.k-keynote{border-left-color:var(--blue)}.slot.k-panel{border-left-color:var(--magenta)}.slot.k-hack{border-left-color:var(--plum)}.slot.k-beach{border-left-color:var(--cyan)}.slot.k-meal b,.slot.k-break b,.slot.k-info b,.slot.k-evening b{color:var(--grey);font-size:17px;font-weight:400}.sess-list{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:12px;display:grid}.slot.k-keynote .sess-list{grid-template-columns:1fr}.sess{border-top:2px solid #e3e3ef;flex-direction:column;gap:5px;min-width:0;padding-top:11px;display:flex}.sess .st{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--blue);font-size:10px}.sess .sn{font-size:15px;font-weight:500;line-height:1.4}.sess .sw{color:var(--grey);font-size:14px;line-height:1.4}@media (max-width:1100px){.sess-list{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.slot{grid-template-columns:1fr;gap:8px}.sess-list{grid-template-columns:1fr;gap:0}.sess{padding:11px 0}}.trav{grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,48px);margin-top:44px;display:grid}@media (max-width:860px){.trav{grid-template-columns:1fr}}.tcard{background:var(--slate);flex-direction:column;gap:14px;padding:clamp(24px,2.6vw,40px);display:flex}.tcard p{font-size:16px;line-height:27px}.tcard .mono{color:var(--grey)}.tlinks{flex-wrap:wrap;gap:22px;margin-top:auto;padding-top:6px;display:flex}.tlink{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);font-size:13px;text-decoration:none}a.tlink:hover{color:var(--midnight)}.tlink.soon{color:var(--grey)}.wx{flex-direction:column;gap:12px;margin-top:4px;display:flex}.wxrow{gap:clamp(20px,2.4vw,38px);display:flex}.wxd{font-family:var(--mono);flex-direction:column;gap:7px;display:flex}.wxd .wd{letter-spacing:.1em;text-transform:uppercase;color:var(--grey);font-size:11px}.wxi{fill:none;width:27px;height:27px;stroke:var(--midnight);stroke-width:1.7px;stroke-linecap:butt;stroke-linejoin:miter}.wxd .wt{color:var(--midnight);font-size:15px}.wxd .wt i{color:var(--grey);margin-left:5px;font-size:13px;font-style:normal}.tstat{font-family:var(--mono);letter-spacing:.04em;color:var(--grey);font-size:13px;line-height:1.7}.reg-intro{flex-direction:column;gap:12px;max-width:62ch;margin-bottom:clamp(30px,4vw,54px);display:flex}.reg-intro h2{font-size:clamp(24px,2.4vw,32px)}.reg-intro p{color:var(--grey);font-size:16px;line-height:28px}.ec-embed{max-width:1140px}.ec-embed iframe{border:0;width:100%;height:1200px;display:block}.ec-embed.grown iframe{height:2300px}@media (max-width:700px){.ec-embed iframe{height:1900px}.ec-embed.grown iframe{height:3000px}}.ec-embed noscript p{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.notify{background:var(--ground2);border-top:4px solid var(--teal)}.notify-in{flex-wrap:wrap;align-items:center;gap:28px 60px;padding-top:clamp(36px,4vw,56px);padding-bottom:clamp(36px,4vw,56px);display:flex}.notify-copy{flex-direction:column;flex:420px;gap:12px;display:flex}.notify-copy h2{font-size:clamp(22px,2.3vw,30px)}.notify-copy p{color:var(--grey);max-width:56ch;font-size:16px;line-height:27px}.notify-form{flex-wrap:wrap;flex:340px;gap:12px;max-width:520px;display:flex}.notify-form input{font:inherit;color:var(--midnight);background:#fff;border:none;flex:220px;padding:15px 16px 13px;font-size:15px;box-shadow:inset 0 0 0 1px #d6d9e6}.notify-form input::placeholder{color:#9aa0b3}.notify-form input:focus{box-shadow:inset 0 0 0 2px var(--midnight);outline:none}.notify-form .btn{white-space:nowrap}.notify-form .nmsg{letter-spacing:.06em;color:var(--midnight);flex-basis:100%;font-size:12px}footer{background:var(--midnight);color:#fff;margin-top:0}footer .fbars{display:flex}footer .fbars div{flex:1;height:8px}footer .f1{background:var(--teal)}footer .f2{background:var(--blue)}footer .f3{background:var(--magenta)}footer .fin{max-width:var(--maxw);padding:clamp(44px,5vw,72px) var(--pad);grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin:0 auto;display:grid}@media (max-width:860px){footer .fin{grid-template-columns:1fr 1fr}}footer .fin h2{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#8e97ad;margin-bottom:16px;font-size:12px;font-weight:400}footer ul{flex-direction:column;gap:10px;list-style:none;display:flex}footer ul a{color:#dde2ee;font-size:15px;text-decoration:none}footer .fpby{margin-top:6px;display:block}footer .fpby img{width:min(100%,232px);height:auto;display:block}footer ul a:hover{color:var(--cyan)}footer .fw svg.wm{width:200px;height:auto;margin-bottom:18px}footer .fw p{color:#8e97ad;font-size:14px;line-height:24px}footer .fbot{max-width:var(--maxw);padding:0 var(--pad) 40px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#8e97ad;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;font-size:11.5px;display:flex}footer .fbot .mglyph{fill:#fff;width:26px;height:26px}footer .fin.fin5{grid-template-columns:2fr 1fr 1fr 1fr 1fr}@media (max-width:860px){footer .fin.fin5{grid-template-columns:1fr 1fr}}footer .flegal{gap:24px;display:flex}footer .flegal a{color:inherit;text-decoration:none}footer .flegal a:hover{text-decoration:underline}.fmark{color:inherit;text-decoration:none}.fmark:hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (max-width:380px){.nav-logo .lb.m.asf{display:none}}body.nav-slim .nav-links,body.nav-slim .nav-menu{display:none}body.nav-slim .nav-in .reg{margin-left:auto}body.nav-noreg .nav-in .reg{display:none}@media (max-width:600px){.nav-logo .asf-x{display:none}}
