:root{--ink:#121212;--muted:#646464;--line:#e5e5e5;--blue:#191919;--orange:#777777;--purple:#191919;--green:#333333;--display:"Helvetica Neue",Helvetica,Arial,sans-serif;--body:"Helvetica Neue",Helvetica,Arial,sans-serif;--mono:"SFMono-Regular",Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:#ffffff;font:16px/1.65 var(--body);overflow-x:clip}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.055em;line-height:1.06}h2{font-size:clamp(46px,6.1vw,90px)}h3{font-size:clamp(28px,3vw,44px)}p{color:var(--muted)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}a:hover{color:var(--blue)}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;object-fit:contain}.reading-progress{height:3px;position:fixed;top:0;left:0;width:100%;background:var(--blue);transform:scaleX(0);transform-origin:left;z-index:50}.skip{position:fixed;top:-90px;left:20px;background:white;padding:10px;z-index:100}.skip:focus{top:15px}.wrap,.chapter{width:min(1320px,90%);margin:auto}.blue{color:var(--blue)}.orange{color:var(--orange)}.purple{color:var(--purple)}.green{color:var(--green)}.micro,.tag,.step-label,.algorithm-head,.algorithm-foot{font-family:var(--mono);font-size:11px;letter-spacing:.015em;line-height:1.65}.tag{display:inline-flex;gap:10px;align-items:center;color:#575757;margin-bottom:28px}.tag:before{content:'';width:18px;height:5px;background:var(--accent,var(--blue));display:block;border-radius:3px}.text-link{font-size:13px;font-weight:700;display:inline-flex;gap:12px;align-items:center;padding:12px 0;margin:12px 22px 0 0;border-bottom:1px solid #cbcbcb;line-height:1.5}.text-link span:last-child{margin-left:10px;transition:transform .25s}.text-link:hover span:last-child{transform:translate(3px,-3px)}.repo svg{width:17px;height:17px;flex-shrink:0}.hero-scroll{height:175vh}.hero{position:sticky;top:0;height:100svh;min-height:650px;width:90%;margin:auto;display:flex;align-items:center}.hero-name{width:100%;will-change:transform,opacity}.hero h1{font-size:clamp(78px,13.6vw,208px);line-height:.91;letter-spacing:-.078em;font-weight:600;margin-top:30px}.hero h1>span{display:block;animation:name-in 1.1s cubic-bezier(.16,1,.3,1) both}.hero h1>span:nth-child(2){margin-left:18.5%;animation-delay:.14s}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:60px}.hero-bottom p{font-size:18px;color:var(--ink)}.hero-bottom .micro{color:var(--muted)}.round-link{border:1px solid #c5c5c5;border-radius:50%;height:56px;width:56px;display:grid;place-items:center;font-size:25px}.hero-statement{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;pointer-events:none;opacity:0;transform:translateY(40px)}.hero-statement p{font-family:var(--mono);font-size:13px;margin-bottom:30px}.hero-statement h2{font-size:clamp(65px,10vw,150px)}@keyframes name-in{from{opacity:0;transform:translateY(85px) rotate(2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}.maitre-intro{padding:150px 0 100px;display:grid;grid-template-columns:1.2fr .8fr;gap:10%}.maitre-intro h2{font-size:clamp(70px,8vw,120px)}.lead{font-size:clamp(24px,3vw,40px);line-height:1.25;color:var(--ink);font-weight:500;letter-spacing:-.03em}.maitre-intro .lead{margin:25px 0}.maitre-intro p:not(.lead){max-width:480px}.customer{border:1px solid var(--line);padding:32px 38px;position:relative;align-self:center;background:#fafafa}.customer>.micro{display:block}.customer img{height:95px;width:150px;object-fit:contain;margin:28px 0 10px}.customer h3{font-size:35px;margin:20px 0 12px}.customer p{font-size:14px}.status{display:flex;align-items:center;gap:7px;position:absolute;right:22px;top:30px;font-size:11px;color:var(--green)}.status i{width:6px;height:6px;border-radius:50%;background:currentColor}.video-story{min-height:100svh;display:grid;grid-template-columns:.7fr 1.3fr;gap:7%;align-items:center;padding:100px 0}.video-copy h2{font-size:clamp(36px,4vw,58px)}.video-copy p{font-size:16px;margin:25px 0 28px;max-width:360px}.video-copy>.micro{color:#767676}.video-story video{width:100%;aspect-ratio:16/9;display:block;background:#f4f4f4;box-shadow:0 24px 60px -35px #00000077;border:1px solid #eeeeee}.video-story figcaption{display:flex;justify-content:space-between;margin-top:15px;color:#757575;font-family:var(--mono);font-size:11px}.chapter{padding:120px 0 60px;--accent:var(--blue);border-top:1px solid var(--line)}#hospitality{--accent:var(--orange)}#experience{--accent:var(--green)}#gateway{--accent:var(--purple)}.chapter-heading{max-width:880px;margin-bottom:80px}.chapter-heading p{font-size:19px;margin-top:25px}.story-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;align-items:start}.visual-sticky{position:sticky;top:calc(50svh - 290px);margin-top:60px}.visual-stage{position:relative;height:580px;max-height:78svh;background:#fafafa;border:1px solid var(--line);overflow:hidden;border-radius:3px}.scene{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;opacity:0;transform:translateY(28px) scale(.97);transition:opacity .4s,transform .65s cubic-bezier(.2,.8,.2,1);pointer-events:none}.scene.active{opacity:1;transform:none;pointer-events:auto}.scene:has(.landscape){padding:0}.landscape{height:100%;width:100%;object-fit:cover}.image-caption{position:absolute;bottom:25px;left:25px;color:white;font:12px var(--mono)}.story-step{min-height:75svh;display:flex;flex-direction:column;justify-content:center;opacity:.22;transform:translateY(16px);transition:opacity .45s,transform .6s}.story-step.active{opacity:1;transform:none}.step-label{margin-bottom:25px;color:var(--accent);text-transform:none;display:flex;gap:12px;align-items:center}.step-label:before{content:'';height:1px;width:25px;background:currentColor}.story-step h3{margin-bottom:23px}.story-step p{line-height:1.85}.system-flow{width:100%;max-width:350px;display:flex;flex-direction:column;gap:25px}.system-flow>div{padding:24px 18px;background:#ffffff;border:1px solid #e2e2e2;position:relative;font-size:16px;display:flex;gap:18px;align-items:center}.system-flow>div:not(:last-child):after{content:'';position:absolute;height:26px;width:1px;background:#c6c6c6;left:27px;top:100%}.flow-dot{height:9px;width:9px;border-radius:50%;background:var(--accent);flex-shrink:0}.big-stat{font-family:var(--display);font-size:clamp(68px,8vw,115px);line-height:1;letter-spacing:-.065em}.big-stat span{display:block;font:17px var(--body);letter-spacing:0;margin:25px 0 38px;color:var(--ink)}.visual-note{font-size:12px;max-width:280px;text-align:center}.recommendation{margin:15px 0 100px;padding-top:40px;border-top:2px solid var(--green)}.recommendation blockquote{font-family:var(--display);font-size:35px;line-height:1.25;letter-spacing:-.03em;margin:28px 0;color:var(--ink)}.person{display:flex;gap:15px;align-items:center;margin:25px 0}.person img{width:65px;height:65px;border-radius:50%;object-fit:cover}.person strong,.person span,.person small{display:block}.person strong{font-size:13px}.person span{font-size:11px}.person small{color:var(--muted);font-size:10px;margin-top:4px}.recommendation .text-link{font-size:11px}.finpal>strong{font-family:var(--display);font-size:100px;display:block;letter-spacing:-.06em;margin:25px 0}.finpal p{margin-bottom:40px}.finpal{text-align:center}.research-visual{background:#ffffff;border:1px solid var(--line);padding:40px;transform:rotate(-4deg);box-shadow:15px 18px 0 #eeeeee}.research-visual>*{display:block}.research-visual strong{font:45px/1.1 var(--display);margin:70px 0 50px;letter-spacing:-.04em}.research-visual>span:last-child{font:10px var(--mono)}.report-link{padding:0 0 100px;display:flex;gap:50px;justify-content:space-between;align-items:center}.report-link .tag{margin:0}.projects-intro{padding:160px 0 180px;border-top:1px solid var(--line)}.projects-intro h2{font-size:clamp(57px,8.7vw,125px);line-height:1.03}.intro-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:60px}.intro-bottom p{font-size:18px}.intro-bottom .micro{color:var(--muted)}.algorithm-head,.algorithm-foot{position:absolute;left:25px;right:25px;display:flex;justify-content:space-between;gap:15px;z-index:2;color:#6d6d6d;font-size:9px}.algorithm-head{top:22px}.algorithm-foot{bottom:20px}.algo-status{color:var(--accent);text-align:right}canvas{display:block;width:100%;height:100%;object-fit:contain}.source-image{padding:20px 0 70px}.source-image summary{cursor:pointer;color:var(--muted);font-size:13px}.source-image img{margin-top:30px;max-width:950px}.security-intro{padding:190px 0 130px;border-top:1px solid var(--line);--accent:var(--purple)}.security-intro h2{font-size:clamp(60px,10vw,145px)}.security-intro .lead{margin-top:80px}.security-why{max-width:620px;margin:30px 0 0 auto;font-size:18px}.code-scene{align-items:stretch;padding:25px;background:#f4f4f4}.code-scene .micro{font-size:9px}pre{background:#f5f5f5;border:1px solid #dedede;border-radius:4px;padding:26px 16px;overflow:auto;max-width:100%;font:11px/1.9 var(--mono);color:#222222}.code-scene pre{padding:20px 8px;font-size:9px}.code-line{display:block;white-space:pre}.line-no{display:inline-block;width:32px;color:#949494;user-select:none}.kw{color:#111111}.str{color:#6a6a6a}.code-detail{display:grid;grid-template-columns:.7fr 1.3fr;gap:6%;padding:80px 0 140px;align-items:center}.code-detail h3{font-size:33px}.code-detail p{font-size:14px;margin-top:23px}.code-detail pre{font-size:10px}.about{padding:130px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1.1fr .9fr;gap:9%}.about h2{font-size:65px}.about h3{font-size:27px}.about p{margin:20px 0}.about .micro{line-height:2}footer{padding:80px 0 35px;border-top:1px solid var(--line)}.footer-title{display:block;font:clamp(44px,7vw,100px)/1.2 var(--display);letter-spacing:-.06em;margin:20px 0 90px}.footer-links{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px}.footer-links .text-link{margin:0;padding:0;border:0;font-size:11px}.footer-links>span{color:var(--muted)}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(40px);transition:opacity .7s,transform .95s cubic-bezier(.16,1,.3,1)}.js .reveal.visible{opacity:1;transform:none}body.motion-paused .reveal,body.motion-paused .story-step{opacity:1;transform:none}body.motion-paused *{animation:none!important;transition:none!important}::selection{background:#dedede;color:#111111}
@media(min-width:1600px){.hero{max-width:1500px}.visual-sticky{top:calc(50svh - 290px)}}
@media(max-width:800px){h2{font-size:48px}.hero{min-height:520px}.hero h1{font-size:15vw;letter-spacing:-.075em}.hero h1>span:nth-child(2){margin-left:12%}.hero-bottom{margin-top:45px;gap:20px}.hero-bottom p{font-size:15px}.hero-bottom .micro{display:none}.hero-scroll{height:145vh}.hero-statement h2{font-size:13vw}.maitre-intro{grid-template-columns:1fr;padding:90px 0 45px;gap:50px}.maitre-intro h2{font-size:75px}.customer{max-width:500px;width:100%}.video-story{grid-template-columns:1fr;gap:40px;padding:65px 0;min-height:auto}.video-copy p{max-width:500px}.video-copy h2{font-size:43px}.video-copy .tag{margin-bottom:18px}.chapter{padding:80px 0 30px}.chapter-heading{margin-bottom:40px}.chapter-heading p{font-size:16px}.story-layout{grid-template-columns:1fr;gap:0}.visual-sticky{top:15px;z-index:4;margin-top:0;padding-bottom:18px;background:#ffffff}.visual-stage{height:43svh;min-height:260px;max-height:380px}.story-step{min-height:65svh;padding:50px 5px 65px;scroll-margin-top:46svh}.story-step h3{font-size:34px}.story-step p{font-size:15px}.scene{padding:22px}.system-flow{gap:15px;max-width:310px}.system-flow>div{padding:13px;font-size:13px}.system-flow>div:not(:last-child):after{height:16px;left:22px}.big-stat{font-size:75px}.big-stat span{font-size:14px;margin:15px 0 20px}.recommendation{margin:30px 0 70px}.recommendation blockquote{font-size:33px}.finpal>strong{font-size:80px;margin:10px 0}.finpal p{margin-bottom:20px}.research-visual{padding:20px}.research-visual strong{font-size:36px;margin:25px 0}.report-link{display:block;padding-bottom:60px}.report-link .tag{display:flex}.projects-intro{padding:100px 0}.projects-intro h2{font-size:10vw}.intro-bottom{display:block;margin-top:35px}.intro-bottom .micro{display:block;margin-top:28px}.algorithm-head,.algorithm-foot{font-size:8px;left:15px;right:15px}.algorithm-head{top:12px}.algorithm-foot{bottom:12px}.security-intro{padding:110px 0 70px}.security-intro h2{font-size:12vw}.security-intro .lead{margin-top:45px;font-size:27px}.security-why{font-size:16px}.code-detail{grid-template-columns:1fr;padding:50px 0 80px;gap:25px}.code-detail pre{font-size:9px}.code-scene pre{font-size:8px;margin:5px 0;padding:10px 5px}.about{grid-template-columns:1fr;padding:75px 0;gap:40px}.about h2{font-size:51px}.footer-title{font-size:10vw;margin-bottom:55px}.footer-links{flex-wrap:wrap;justify-content:flex-start;gap:20px}.footer-links>span{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

/* HireMaitre setup treatment: quiet white canvas, neutral type, blur-to-focus entrances. */
:root{--ink:#191919;--muted:#5d5d5d;--line:#dddddd;--blue:#191919;--orange:#191919;--purple:#191919;--green:#191919}
body{font-weight:400;letter-spacing:-.02em}h1,h2,h3{font-weight:400;letter-spacing:-.055em}h2{line-height:1.04}.tag,.step-label{font-family:var(--body);font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#626262}.tag:before{width:18px;height:2px;border-radius:0;background:#191919}.hero h1{font-size:clamp(64px,9vw,132px);line-height:1.03;font-weight:400;letter-spacing:-.065em;text-align:center;margin:0}.hero h1>span:nth-child(2){margin-left:0}.hero h1>span{animation:setup-in 1.1s cubic-bezier(.22,.9,.35,1) both}.hero h1>span:nth-child(2){animation-delay:.18s}.hero-bottom{margin:45px auto 0;max-width:700px;justify-content:center;text-align:center}.hero-bottom p{font-size:16px;font-weight:300;color:#5d5d5d}.hero-bottom>.micro{position:absolute;bottom:35px;left:0;right:0;text-align:center;font-family:var(--body);font-size:11px}.hero-bottom .round-link{position:absolute;bottom:70px;left:calc(50% - 19px);width:38px;height:38px;font-size:17px;border-color:#dddddd}.hero-statement{text-align:center}.hero-statement h2{font-size:clamp(48px,6vw,88px);font-weight:400}.hero-statement p{font-family:var(--body);color:#777777}.maitre-intro h2{font-weight:400;letter-spacing:-.065em}.lead{font-weight:300}.customer{background:#ffffff;border-color:#dddddd}.status{color:#333333}.visual-stage{background:#f7f7f7;border:0;border-radius:0}.system-flow>div{border-radius:0;box-shadow:none;border-color:#dddddd}.flow-dot{background:#191919}.chapter-heading p,.video-copy p,.story-step p{font-weight:300}.story-step{filter:blur(1px);opacity:.18}.story-step.active{filter:blur(0)}.js .reveal{transform:translateY(14px);filter:blur(6px);transition:opacity .7s,transform .8s cubic-bezier(.22,.9,.35,1),filter .8s}.js .reveal.visible{filter:blur(0)}.person img{filter:grayscale(1)}.recommendation{border-top:1px solid #191919}.recommendation blockquote{font-weight:400}.big-stat{font-weight:400}.research-visual{transform:none;box-shadow:12px 12px 0 #e7e7e7}.research-visual strong{font-weight:400}.projects-intro h2{font-weight:400}.security-intro{min-height:100svh;display:flex;flex-direction:column;justify-content:center;text-align:center}.security-intro h2{font-size:clamp(56px,8vw,112px);font-weight:400}.security-intro>.tag{align-self:center}.security-intro .lead{margin-top:45px;font-size:clamp(23px,2.7vw,36px)}.security-why{margin:28px auto 0;max-width:610px;font-size:16px;font-weight:300}.code-scene{background:#f4f4f4}.kw{font-weight:700;color:#111111}.str{color:#676767}.code-detail pre{border-radius:0}.footer-title{font-weight:400}.reading-progress{background:#191919}.text-link{font-size:12px;font-weight:500}.algorithm-head,.algorithm-foot{color:#727272}.algo-status{color:#191919}body.motion-paused .reveal,body.motion-paused .story-step{filter:none}
@keyframes setup-in{0%{opacity:0;transform:translateY(14px);filter:blur(6px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@media(max-width:800px){.hero h1{font-size:15vw}.hero-bottom{margin-top:30px}.hero-bottom>.micro{display:block}.hero-statement h2{font-size:12vw}.security-intro h2{font-size:12vw}.security-why{font-size:15px}.security-intro{padding:90px 0}.story-step{filter:none}}
@media(prefers-reduced-motion:reduce){.js .reveal,.story-step{filter:none}}
.hero-bottom{flex-direction:column;align-items:center;gap:18px}.hero-bottom>.micro,.hero-bottom .round-link{position:static}.hero-bottom>.micro{display:block;order:2}.hero-bottom .round-link{order:3}.hero-bottom p{order:1}
/* CAT: centered introduction, then copy travels left as its companion appears. */
.hero h1{font-size:clamp(82px,11.5vw,170px)}.hero-bottom .round-link{width:62px;height:62px;border:1.5px solid #191919;font-size:29px;background:#fff;box-shadow:0 7px 22px #0000000a}.hero-bottom{margin-top:35px}.tag:before,.step-label:before{display:none}.tag,.step-label{gap:0}.flow-dot{display:none}.system-flow>div{justify-content:center;text-align:center;padding:26px 20px}.system-flow>div:not(:last-child):after{left:50%}.person img{filter:none}.status{display:none}.cat-scroll{height:200svh;position:relative;padding:0;border:0;margin-top:0;margin-bottom:0}.cat-stage{position:sticky;top:0;height:100svh;min-height:590px;display:flex;align-items:center;isolation:isolate}.cat-copy{position:relative;width:52%;flex-shrink:0;text-align:center;transform:translateX(calc(46% * (1 - var(--cat,0))));will-change:transform;margin:0;z-index:2;padding:35px 10px}.cat-copy h2{font-size:clamp(48px,6vw,88px);line-height:1.04;max-width:100%;margin:0 auto}.cat-copy .lead{margin:25px auto;font-size:clamp(25px,2.7vw,38px)}.cat-copy>p:not(.lead){max-width:510px;margin:25px auto 0;font-size:17px;line-height:1.7;font-weight:300}.cat-role{font-size:12px;font-weight:500;letter-spacing:.01em;display:block;margin:23px auto 0;color:#61615a}.cat-copy .text-link{margin:22px 10px 0;font-size:12px}.cat-panel{position:absolute;right:0;width:43%;max-height:78svh;opacity:var(--cat-reveal,0);transform:translateY(calc(32px * (1 - var(--cat-reveal,0))));filter:blur(calc(5px * (1 - var(--cat-reveal,0))));pointer-events:none;will-change:transform,opacity;transition:none}.cat-panel.cat-shown{pointer-events:auto}.cat-panel.customer{padding:38px 30px;background:#f7f6f2;border:0;text-align:center;margin:0}.cat-panel.customer img{margin:35px auto 20px;width:190px;height:115px}.cat-panel.customer p{margin:auto;max-width:290px}.cat-panel.customer h3{margin:15px 0 20px}.cat-panel.customer .text-link{margin:24px auto 0}.cat-panel.customer>.micro{font-family:var(--body);font-size:12px;color:#686861}.cat-video .cat-panel{width:48%;margin:0}.cat-video .cat-copy{width:46%;transform:translateX(calc(59% * (1 - var(--cat,0))))}.cat-video .cat-copy h2{font-size:clamp(40px,4.8vw,70px)}.cat-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#f4f4f0;box-shadow:0 20px 65px -38px #00000070}.chapter{padding-top:0}.chapter>.cat-scroll{width:100%;margin:0}.intro-visual{background:var(--panel,#f6f5f1);min-height:420px;height:62svh;max-height:600px;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.intro-visual:has(.landscape){padding:0}.intro-visual .landscape{width:100%;height:100%}.intro-visual canvas{width:100%;height:100%}.intro-visual .finpal>strong{font-size:clamp(58px,6vw,95px)}.chapter .story-layout{margin-top:45px}.visual-stage{background:var(--panel,#f5f4f0)}#hospitality{--accent:#b46b49;--panel:#f4eee7}#experience{--accent:#657956;--panel:#edf0e7}#kapitalgpt{--accent:#607691;--panel:#eef0f5}#movie{--accent:#53739d;--panel:#f0f3f6}#quadtree{--accent:#78815b;--panel:#f1f2e9}#forecast{--accent:#b27443;--panel:#f5f0e8}#gateway{--accent:#816591;--panel:#f2edf6}.system-flow>div{border-color:color-mix(in srgb,var(--accent) 25%,white);background:color-mix(in srgb,var(--accent) 8%,white);color:#252623}.system-flow>div:not(:last-child):after{background:var(--accent)}.system-flow>div:nth-child(2){background:color-mix(in srgb,var(--accent) 15%,white)}.system-flow>div:nth-child(3){background:color-mix(in srgb,var(--accent) 22%,white)}.step-label{color:var(--accent)}.recommendation{border-color:#8c9a76}.big-stat.green{color:#596c45}.code-scene,pre{background:#f1edf6}.kw{color:#8148ae}.str{color:#227b67}.line-no{color:#aaa0b8}.projects-intro,.about>div:first-child{text-align:center}.projects-intro .intro-bottom{justify-content:center;gap:60px}.security-intro .purple{color:#191919}.js .cat-copy,.js .cat-panel{transition:none}body.motion-paused .cat-copy{transform:none}body.motion-paused .cat-panel{opacity:1;transform:none;filter:none}
@media(max-width:800px){.hero h1{font-size:17vw}.cat-scroll{height:175svh}.cat-stage{min-height:0;height:100svh;flex-direction:column;justify-content:center}.cat-copy,.cat-video .cat-copy{position:absolute;top:50%;left:0;width:100%;padding:0 8px;transform:translateY(calc(-50% - 23svh * var(--cat,0)))}.cat-copy h2{font-size:clamp(38px,9vw,60px)}.cat-video .cat-copy h2{font-size:clamp(32px,8vw,48px)}.cat-copy .lead{font-size:24px;margin:15px auto}.cat-copy>p:not(.lead){font-size:14px;line-height:1.55;margin:16px auto 0;max-width:420px}.cat-role{margin-top:13px;font-size:11px}.cat-copy .text-link{font-size:10px;margin-top:12px}.cat-panel,.cat-video .cat-panel{top:auto;bottom:5svh;width:100%;max-height:40svh;right:0}.cat-panel.customer{padding:20px;max-height:43svh}.cat-panel.customer img{height:65px;margin:12px auto 8px}.cat-panel.customer h3{font-size:26px;margin:8px 0}.cat-panel.customer p{font-size:12px}.cat-panel.customer .text-link{margin-top:10px;font-size:11px}.intro-visual{height:39svh;min-height:230px;padding:12px}.cat-panel .finpal>strong{font-size:70px}.cat-panel .finpal p{font-size:13px}.cat-copy:has(.text-link){padding-bottom:0}.cat-stage:has(.customer) .cat-copy{transform:translateY(calc(-50% - 25svh * var(--cat,0)))}.projects-intro .intro-bottom{display:block}.chapter .story-layout{margin-top:0}body.motion-paused .cat-scroll{height:auto}body.motion-paused .cat-stage{height:auto;min-height:0;position:relative;gap:25px;padding:70px 0}body.motion-paused .cat-copy,body.motion-paused .cat-panel{position:relative;top:auto;bottom:auto;transform:none}}
@media(prefers-reduced-motion:reduce){.cat-copy{transform:none}.cat-panel{opacity:1;transform:none;filter:none}}

/* Refinement: capabilities waveform, request path, published research and academic notes. */
.nowrap{white-space:nowrap}
.cat-copy>p.source-note{display:inline-block;margin:22px auto 0;padding-top:12px;border-top:1px solid #d6d6d6;max-width:none;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;color:#4d4d4d}
body.motion-paused .cat-scroll{height:auto}

/* Capabilities: the copy settles left, then five facts enter beside a scroll-driven waveform. */
#maitre-product{--voice:#a4643f;--live:#4f6f4a}
.cat-voice{height:420svh}
.voice-panel{width:44%;display:flex;flex-direction:column;gap:14px;text-align:left}
.voice-visual{background:#f5f1eb;padding:18px 20px 12px}
.voice-wave{width:100%;height:auto;aspect-ratio:720/200}
.voice-caption{display:block;margin-top:6px;font:10px/1.4 var(--mono);color:#80776d}
.fact-count{display:none}
.voice-facts{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.fact{padding:9px 0 9px 16px;border-left:2px solid #e4ddd4;opacity:0;filter:blur(5px);transform:translateY(10px);transition:opacity .55s,transform .7s cubic-bezier(.22,.9,.35,1),filter .6s,border-color .4s}
.fact.is-in{opacity:.45;filter:blur(0);transform:none}
.fact.is-current{opacity:1;border-color:var(--voice)}
.fact-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.fact strong{font:400 20px/1.25 var(--display);letter-spacing:-.035em;color:var(--ink)}
.fact-status{flex-shrink:0;font:600 9.5px/1 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--live)}
.fact.is-beta .fact-status{color:var(--voice)}
.fact p{max-height:0;overflow:hidden;opacity:0;font-size:14px;line-height:1.5;font-weight:300;transition:max-height .55s cubic-bezier(.22,.9,.35,1),opacity .45s,margin .45s}
.fact.is-current p{max-height:4.8em;opacity:1;margin-top:6px}
.voice-note{margin-top:2px;font-size:12px;line-height:1.5;color:#6d665e}
body.motion-paused .fact{opacity:1;filter:none;transform:none}
body.motion-paused .fact p{max-height:none;opacity:1;margin-top:6px}
body.motion-paused .cat-voice .cat-stage{height:auto;min-height:100svh;padding:90px 0}
body.motion-paused .cat-voice .cat-panel{position:relative}

/* Hospitality introduction: the guest question that the request path follows. */
.ask-panel{align-items:stretch;justify-content:center;gap:16px;padding:48px 44px}
.ask-label{align-self:flex-end;font:10px/1.4 var(--mono);color:#8b7c70}
.ask-bubble{align-self:flex-end;max-width:92%;padding:20px 26px;border-radius:24px 24px 6px 24px;background:#1f1d1b;color:#ffffff;font:400 clamp(26px,2.5vw,38px)/1.18 var(--display);letter-spacing:-.04em}
.ask-pending{align-self:flex-start;width:62%;display:grid;gap:10px;padding:20px 22px;border:1px solid #e6dbcf;border-radius:22px 22px 22px 6px;background:#ffffff}
.ask-pending i{display:block;height:8px;background:#efe7de}
.ask-pending i+i{width:64%}
.ask-next{align-self:flex-start;margin-top:14px;font-size:13px;color:#6f655c}

/* Request path: persistent question and track, with one scene per engineering decision. */
.request-path .rp-top{position:absolute;z-index:2;top:56px;left:28px;right:28px}
.rp-ask{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.rp-ask>span{font:10px/1.4 var(--mono);color:#8b7c70}
.rp-ask p{padding:10px 16px;border-radius:16px 16px 4px 16px;background:#1f1d1b;color:#ffffff;font-size:15px;line-height:1.3}
.rp-track{list-style:none;position:relative;margin:20px 0 0;padding:0 0 10px;display:grid;grid-template-columns:repeat(4,1fr);font:600 9.5px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:#b3a79b}
.rp-track:before,.rp-track:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;background:#e3d9ce}
.rp-track:after{background:var(--accent);transform-origin:left;transform:scaleX(calc((var(--stage,0) + 1) / 4));transition:transform .7s cubic-bezier(.22,.9,.35,1)}
.rp-track li{transition:color .4s}
.rp-track li.is-reached{color:var(--accent)}
.rp-scenes{position:absolute;left:0;right:0;top:186px;bottom:46px}
.rp-scenes .scene{padding:14px 28px}
.rp-flow{width:100%;max-width:460px;display:flex;flex-direction:column;align-items:center;gap:10px}
.rp-flow>*{opacity:0;transform:translateY(8px);filter:blur(3px);transition:opacity .5s,transform .6s cubic-bezier(.22,.9,.35,1),filter .5s}
.scene.active .rp-flow>*{opacity:1;transform:none;filter:none}
.scene.active .rp-flow>*:nth-child(2){transition-delay:.07s}.scene.active .rp-flow>*:nth-child(3){transition-delay:.14s}.scene.active .rp-flow>*:nth-child(4){transition-delay:.21s}.scene.active .rp-flow>*:nth-child(5){transition-delay:.28s}.scene.active .rp-flow>*:nth-child(6){transition-delay:.35s}
.rp-node{padding:9px 16px;background:#1f1d1b;color:#ffffff;font-size:13px}
.rp-row,.rp-records{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}
.rp-row span,.rp-records span{padding:7px 11px;border:1px solid #e3d8cc;background:#ffffff;color:#3b3632;font-size:12px;line-height:1.2}
.rp-records span{border-color:color-mix(in srgb,var(--accent) 28%,white);background:color-mix(in srgb,var(--accent) 9%,white)}
.rp-records span.on{border-color:var(--accent);background:var(--accent);color:#ffffff}
.rp-link{display:block;width:1px;height:16px;background:var(--accent)}
.rp-caption{font:10px/1.4 var(--mono);color:#8b7c70;text-align:center}
.rp-tenants{display:grid;grid-template-columns:1.35fr 1fr;align-items:stretch;gap:12px}
.rp-tenants .rp-caption{grid-column:1/-1}
.rp-tenant{padding:14px;border:1px solid #e3d8cc;background:#ffffff;text-align:left}
.rp-tenant.is-open{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.rp-tenant-name{display:block;margin-bottom:10px;font-size:12px;font-weight:600;color:#2c2926}
.rp-tenant .rp-records{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rp-tenant .rp-records span{text-align:center}
.rp-tenant.is-locked{display:flex;flex-direction:column;justify-content:space-between;background:repeating-linear-gradient(135deg,#f6f1ea 0 7px,#eee6dc 7px 8px)}
.rp-tenant.is-locked .rp-tenant-name{color:#8f8378}
.rp-lock{font:10px/1.4 var(--mono);color:#8f8378}
.rp-bubble{align-self:stretch;margin-right:18%;display:grid;gap:8px;padding:13px 16px 15px;border:1px solid #e3d8cc;border-radius:16px 16px 16px 4px;background:#ffffff}
.rp-by{font:10px/1.4 var(--mono);color:#8b7c70}
.rp-bubble i{display:block;height:7px;background:#ebe2d8}
.rp-bubble i.short{width:58%}
.rp-action{align-items:stretch}
.rp-beta{align-self:flex-start;padding:6px 9px;border:1px solid var(--accent);color:var(--accent);font:600 9.5px/1 var(--body);letter-spacing:.09em;text-transform:uppercase}
.rp-checks{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.rp-checks li{position:relative;padding:9px 12px 9px 38px;border:1px solid #e3d8cc;background:#ffffff;color:#2c2926;font-size:13px;opacity:0;transform:translateX(-6px);transition:opacity .45s,transform .55s}
.scene.active .rp-checks li{opacity:1;transform:none}
.scene.active .rp-checks li:nth-child(2){transition-delay:.12s}.scene.active .rp-checks li:nth-child(3){transition-delay:.24s}.scene.active .rp-checks li:nth-child(4){transition-delay:.36s}
.rp-checks li:before{content:'';position:absolute;left:16px;top:50%;width:5px;height:10px;border:solid var(--accent);border-width:0 2px 2px 0;transform:translateY(-62%) rotate(45deg)}

/* Published research: a full-width, clearly clickable feature under the KapitalGPT story. */
a.research-visual{display:block;color:var(--ink)}
.research-feature{padding:30px 0 150px}
.paper-card{display:grid;grid-template-columns:1.2fr .8fr;gap:7%;align-items:center;padding:clamp(28px,5vw,64px);border:1px solid #dfe5ea;background:#f7f9fb;color:var(--ink);transition:border-color .35s,box-shadow .45s,opacity .7s,transform .8s cubic-bezier(.22,.9,.35,1),filter .8s}
.paper-card:hover{color:var(--ink);border-color:#9fb4c3;box-shadow:0 34px 80px -50px #0e3b4d66}
.rg-brand{display:inline-flex;align-items:center;gap:12px;font:500 19px/1 var(--body);letter-spacing:-.01em;color:#1f2a2e}
.rg-mark{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;background:#00ccbb;color:#ffffff;font:600 21px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.02em}
.rg-mark sup{align-self:flex-start;margin:9px 0 0 1px;font-size:12px;line-height:1}
.paper-kicker{display:block;margin:34px 0 16px;font:600 10px/1.4 var(--body);letter-spacing:.09em;text-transform:uppercase;color:#4f7282}
.paper-card h3{max-width:720px;font-size:clamp(34px,4.3vw,62px);line-height:1.04;letter-spacing:-.05em}
.paper-card p{max-width:560px;margin-top:22px;font-size:16px;line-height:1.7;font-weight:300}
.paper-cta{display:inline-flex;align-items:center;gap:14px;margin-top:32px;padding:15px 22px;background:#191919;color:#ffffff;font-size:13px;font-weight:500;transition:background .3s}
.paper-cta span{transition:transform .25s}
.paper-card:hover .paper-cta{background:#00786e}
.paper-card:hover .paper-cta span{transform:translate(3px,-3px)}
.paper-cover{width:100%;max-width:340px;aspect-ratio:.77;justify-self:center;display:flex;flex-direction:column;padding:34px 30px;border:1px solid #e0e5e9;background:#ffffff;box-shadow:16px 16px 0 #e8eef1;transform:rotate(2.5deg);transition:transform .6s cubic-bezier(.22,.9,.35,1)}
.paper-card:hover .paper-cover{transform:rotate(0) translateY(-6px)}
.paper-cover>span{font:10px/1.4 var(--mono);color:#4f7282}
.paper-cover strong{margin:24px 0 28px;font:400 clamp(22px,2.2vw,30px)/1.12 var(--display);letter-spacing:-.04em}
.paper-cover i{display:block;height:6px;margin-bottom:11px;background:#edf0f2}
.paper-cover i:nth-of-type(2){width:88%}.paper-cover i:nth-of-type(3){width:94%}.paper-cover i:nth-of-type(4){width:72%}.paper-cover i:nth-of-type(5){width:81%}
.paper-cover em{margin-top:auto;font:normal 10px/1.4 var(--mono);color:#8a9196}

@media(max-width:800px){
.cat-copy>p.source-note{margin-top:14px;padding-top:9px;font-size:11px}
.cat-voice{height:380svh}
.cat-voice .cat-copy{transform:translateY(calc(-50% - 29svh * var(--cat,0)))}
.cat-voice .cat-panel{bottom:4svh;width:100%;max-height:none;gap:10px}
.voice-visual{padding:10px 12px 8px}
.fact-count{display:block;font:10px/1.4 var(--mono);color:#80776d}
.voice-facts{position:relative;height:112px}
.fact{position:absolute;inset:0;padding:4px 0 4px 14px}
.fact.is-in{opacity:0}
.fact.is-current{opacity:1}
.fact strong{font-size:18px}
.fact p{max-height:none;opacity:1;margin-top:6px;font-size:13px}
.voice-note{font-size:11px}
body.motion-paused .voice-facts{height:auto;display:grid;gap:12px}
body.motion-paused .fact{position:relative}
body.motion-paused .fact-count{display:none}
body.motion-paused .cat-voice .cat-stage{padding:70px 0}
.ask-panel{gap:10px;padding:20px}
.ask-bubble{padding:14px 18px;font-size:22px}
.ask-pending{gap:7px;padding:12px 14px}
.ask-next{margin-top:4px;font-size:11px}
[data-story="hospitality"] .visual-stage{height:48svh;min-height:300px;max-height:420px}
[data-story="ai-native"] .visual-stage{height:52svh;min-height:330px;max-height:440px}
[data-story="ai-native"] .scene{padding:44px 16px 26px}
[data-story="kapitalgpt"] .system-flow>div{padding:11px 13px;font-size:12px}
[data-story="kapitalgpt"] .system-flow{gap:11px}
[data-story="kapitalgpt"] .system-flow>div:not(:last-child):after{height:11px}
.visual-sticky{box-shadow:0 -16px 0 #ffffff}
.request-path .rp-top{top:32px;left:14px;right:14px}
.rp-ask{gap:3px}
.rp-ask p{padding:7px 12px;font-size:13px}
.rp-track{margin-top:10px;padding-bottom:7px;font-size:8.5px}
.rp-scenes{top:112px;bottom:30px}
.rp-scenes .scene{padding:8px 14px}
.rp-flow{gap:7px}
.rp-row span,.rp-records span{padding:5px 8px;font-size:10.5px}
.rp-link{height:10px}
.rp-node{padding:6px 12px;font-size:11.5px}
.rp-caption{display:none}
.rp-tenant{padding:10px}
.rp-tenant-name{margin-bottom:7px;font-size:11px}
.rp-bubble{gap:6px;margin-right:10%;padding:10px 12px}
.rp-checks{gap:5px}
.rp-checks li{padding:6px 10px 6px 32px;font-size:11.5px}
.rp-checks li:before{left:13px}
.research-feature{padding:10px 0 90px}
.paper-card{grid-template-columns:1fr;gap:34px}
.paper-kicker{margin-top:24px}
.paper-cta{margin-top:24px;font-size:12px}
.paper-cover{max-width:230px;padding:22px 20px}
}
@media(prefers-reduced-motion:reduce){.fact{opacity:1;filter:none;transform:none}.fact p{max-height:none;opacity:1}}

/* AI-native chapter: market context, the billable unit, the designed ceiling, retention. */
#ai-native{--accent:#7a5c43;--panel:#f3efe9}
#ai-native .visual-stage .scene{padding:56px 40px 34px}
.stat-panel{align-items:stretch;justify-content:center;gap:0;padding:44px 40px}
.stat-panel>.micro{font-family:var(--body);font-size:12px;color:#6e6157;margin-bottom:26px}
.stat-row{display:flex;align-items:baseline;gap:18px;padding:16px 0;border-top:1px solid #e3dbd1}
.stat-row strong{font:400 clamp(38px,4vw,58px)/1 var(--display);letter-spacing:-.05em;color:var(--accent);min-width:2.6em}
.stat-row span{font-size:14px;line-height:1.4;color:#5f574e}
.stat-source{margin-top:22px;font:10px/1.4 var(--mono);color:#6e6157}
.spec{list-style:none;margin:0;padding:0;width:100%;max-width:430px}
.spec li{display:grid;grid-template-columns:1fr;gap:4px;padding:11px 0;border-top:1px solid color-mix(in srgb,var(--accent) 22%,white)}
.spec li:first-child{border-top:0}
.spec span{font:600 9.5px/1.3 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.spec strong{font-weight:400;font-size:15px;line-height:1.35;color:#2c2926}
.spec .spec-note strong{font-size:12.5px;color:#6f675d}
@media(max-width:800px){
.stat-panel{padding:18px 20px;min-height:270px}
.stat-panel>.micro{margin-bottom:10px;font-size:11px}
.stat-row{padding:8px 0;gap:12px}
.stat-row span{font-size:11.5px}
.stat-source{margin-top:10px;font-size:9px}
.spec li{padding:7px 0}
.spec strong{font-size:12.5px}
.spec .spec-note strong{font-size:10.5px}
}

/* Currently building: a scroll-driven deck of shipped changes, an experience title,
   stronger role and customer links, and a clickable section rail. */
.icon-defs{position:absolute;width:0;height:0;overflow:hidden}
.ship-scroll{position:relative;height:430svh}
.ship-stage{position:sticky;top:0;height:100svh;min-height:640px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(18px,3svh,32px);overflow:hidden}
.ship-head,.ship-foot{margin-block:0}
.ship-head{text-align:center;flex-shrink:0}
.ship-head .tag{margin-bottom:15px}
.ship-head h2{font-size:clamp(34px,4.4vw,62px);line-height:1.05}
.ship-deck{--cw:clamp(268px,22vw,300px);list-style:none;margin:0;padding:0;position:relative;width:100%;height:clamp(366px,47svh,446px);perspective:1600px;perspective-origin:50% 48%}
.ship-card{position:absolute;top:0;left:50%;width:var(--cw);height:100%;margin-left:calc(var(--cw) * -.5);backface-visibility:hidden;display:flex;flex-direction:column;padding:28px 26px 22px;background:#ffffff;border:1px solid #e9e6e0;border-radius:20px;box-shadow:0 34px 64px -34px #1f1d1b4d,0 8px 22px -14px #1f1d1b33;will-change:transform,opacity;transition:box-shadow .4s}
.ship-card.is-front{box-shadow:0 46px 82px -36px #1f1d1b5c,0 10px 26px -14px #1f1d1b40}
.ship-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.ship-gh{width:26px;height:26px;color:#1f1d1b;flex-shrink:0}
.ship-date{font:600 10px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#7a746b}
.ship-area{display:block;font:600 10px/1.4 var(--body);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--accent,#1f1d1b) 74%,#141311);margin-bottom:13px}
.ship-card h3{font-size:clamp(22px,1.9vw,28px);line-height:1.13;letter-spacing:-.04em;color:#1f1d1b}
.ship-card p{margin-top:13px;font-size:13.5px;line-height:1.6;font-weight:300;color:#6b655d}
.ship-metric{margin-top:auto;display:flex;align-items:center;gap:13px;padding:13px;border-radius:14px;background:#fbfaf8;border:1px solid #ecebe6}
.ship-icon{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--accent,#1f1d1b) 14%,white);color:var(--accent,#1f1d1b)}
.ship-icon svg{width:19px;height:19px}
.ship-metric-text{display:grid;gap:3px;min-width:0}
.ship-metric-text>span{font:600 9.5px/1.25 var(--body);letter-spacing:.09em;text-transform:uppercase;color:#736d64}
.ship-metric-text strong{font:400 17px/1.15 var(--display);letter-spacing:-.03em;color:#1f1d1b}
.ship-foot{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}
.ship-counter{font:600 10px/1 var(--body);letter-spacing:.14em;color:#7a746b;flex-shrink:0}
.ship-note{max-width:580px;font-size:11.5px;line-height:1.55;font-weight:300;color:#6b655d}
.section-title{min-height:76svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 0;border-top:1px solid var(--line)}
.section-title>p{margin-bottom:26px;font:600 11px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#7a746b}
.section-title h2{font-size:clamp(48px,6vw,88px);font-weight:400;letter-spacing:-.055em;line-height:1.04}
.cat-panel.customer>.micro.customer-label{display:block;font:600 11px/1.45 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#1f1d1b}
.cat-panel.customer .customer-cta{border-bottom:0;border-radius:999px;background:#1f1d1b;color:#ffffff;padding:14px 24px;margin:26px auto 0;font-size:12.5px;font-weight:600;letter-spacing:.02em}
.cat-panel.customer .customer-cta:hover{background:#3b3630;color:#ffffff}
.cat-role{display:flex;flex-direction:column;align-items:center;gap:7px;margin:26px auto 0;color:#6d675e}
.cat-role strong{display:block;font:600 12px/1.45 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#1f1d1b}
.cat-when{font-size:12px;letter-spacing:.01em;color:#7c766d}
.rail{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:40;display:none;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s,visibility .45s}
.rail.is-on{opacity:1;visibility:visible;pointer-events:auto}
@media(min-width:900px){.rail{display:block}}
.rail-track{position:absolute;right:4.5px;top:14px;bottom:14px;width:2px;background:#e4e0d9;border-radius:2px}
.rail-fill{position:absolute;inset:0;background:#1f1d1b;border-radius:2px;transform:scaleY(var(--rail,0));transform-origin:top}
.rail-list{position:relative;z-index:1;list-style:none;margin:0;padding:0;display:grid;gap:8px;justify-items:end}
.rail-list a{position:relative;display:flex;align-items:center;justify-content:flex-end;width:26px;height:28px}
.rail-dot{width:11px;height:11px;border-radius:50%;background:#ffffff;border:1.5px solid #d8d3ca;flex-shrink:0;transition:background .35s,border-color .35s,transform .35s,box-shadow .35s}
.rail-name{position:absolute;right:25px;top:50%;pointer-events:none;font:600 9.5px/1.2 var(--body);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:#7a746b;opacity:0;transform:translate(10px,-50%);transition:opacity .3s,transform .3s,color .3s}
.rail li.is-done .rail-dot{background:#1f1d1b;border-color:#1f1d1b}
.rail li.is-current .rail-dot{background:#1f1d1b;border-color:#1f1d1b;transform:scale(1.4);box-shadow:0 0 0 4px #1f1d1b1a}
.rail li.is-done .rail-name,.rail li.is-current .rail-name,.rail-list a:hover .rail-name{color:#1f1d1b}
.rail li.is-current .rail-name,.rail:hover .rail-name,.rail:focus-within .rail-name{opacity:1;transform:translate(0,-50%)}
.rail-list a:hover .rail-dot{border-color:#1f1d1b}
@media(min-width:1620px){.rail-name{opacity:1;transform:translate(0,-50%)}}
body.motion-paused .ship-scroll{height:auto}
body.motion-paused .ship-stage{position:relative;height:auto;min-height:0;padding:90px 0;overflow:visible;gap:38px}
body.motion-paused .ship-deck{height:auto;perspective:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;width:min(1320px,90%)}
body.motion-paused .ship-card{position:static;width:auto;height:auto;margin:0;min-height:320px}
body.motion-paused .ship-counter{display:none}
html:not(.js) .ship-scroll{height:auto}
html:not(.js) .ship-stage{position:relative;height:auto;min-height:0;padding:90px 0;overflow:visible}
html:not(.js) .ship-deck{height:auto;perspective:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;width:min(1320px,90%)}
html:not(.js) .ship-card{position:static;width:auto;height:auto;margin:0;min-height:320px}
html:not(.js) .rail{display:none}
@media(max-width:800px){
.ship-scroll{height:360svh}
.ship-stage{min-height:0;gap:16px}
.ship-head h2{font-size:clamp(30px,8vw,44px)}
.ship-deck{--cw:min(252px,68vw);height:min(414px,52svh)}
.ship-card{padding:22px 20px 18px;border-radius:16px}
.ship-top{margin-bottom:16px}
.ship-gh{width:22px;height:22px}
.ship-card h3{font-size:21px}
.ship-card p{font-size:12.5px;margin-top:11px}
.ship-metric{padding:11px;gap:10px;border-radius:11px}
.ship-icon{width:32px;height:32px;border-radius:9px}
.ship-icon svg{width:16px;height:16px}
.ship-metric-text strong{font-size:15px}
.ship-note{font-size:10.5px}
.section-title{min-height:58svh;padding:80px 0}
.section-title h2{font-size:12vw}
.section-title>p{margin-bottom:18px;font-size:10px}
.cat-panel.customer>.micro.customer-label{font-size:10px;letter-spacing:.14em}
.cat-panel.customer .customer-cta{padding:11px 18px;font-size:11px;margin-top:16px}
.cat-role{margin-top:14px;gap:7px}
.cat-role strong{font-size:10.5px;letter-spacing:.14em}
.cat-when{font-size:11px}
}
@media(min-width:801px) and (max-width:1363px){
/* Below this the card is at the narrow end of its clamp, so the type steps down with it. */
.ship-card h3{font-size:21px}
.ship-card p{font-size:12.5px;line-height:1.55}
}
@media(min-width:801px) and (max-height:884px){
.ship-stage{min-height:0;gap:14px}
.ship-head h2{font-size:clamp(28px,3.2vw,42px)}
.ship-head .tag{margin-bottom:10px}
.ship-card{padding:20px 20px 16px}
.ship-top{margin-bottom:14px}
.ship-card h3{font-size:21px}
.ship-card p{font-size:12.5px;margin-top:10px;line-height:1.55}
.ship-metric{padding:10px;gap:10px}
.ship-icon{width:32px;height:32px;border-radius:9px}
.ship-icon svg{width:16px;height:16px}
.ship-metric-text strong{font-size:15px}
.ship-note{font-size:10.5px}
}
@media(prefers-reduced-motion:reduce){
.ship-scroll{height:auto}
.ship-stage{position:relative;height:auto;min-height:0;padding:90px 0;overflow:visible;gap:38px}
.ship-deck{height:auto;perspective:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;width:min(1320px,90%)}
.ship-card{position:static;width:auto;height:auto;margin:0;min-height:320px}
.ship-counter{display:none}
}

/* Tints a card by how far back it sits, so the ones behind read as behind. */
.ship-card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#f3f1ec;opacity:var(--veil,0);pointer-events:none}

.cat-panel.customer .beta-test{margin:26px auto 0;padding-top:22px;border-top:1px solid #e3e1da;max-width:300px}.cat-panel.customer .beta-test p{margin:10px auto 0;font-size:14px;line-height:1.55;color:#55554f}.cat-panel.customer .beta-test .text-link{margin:14px auto 0}
@media(max-width:800px){.cat-panel.customer .beta-test{margin-top:12px;padding-top:10px}.cat-panel.customer .beta-test p{font-size:11.5px;margin-top:4px}.cat-panel.customer .beta-test .text-link{margin-top:8px}.cat-panel.customer{max-height:52svh}}
.cat-panel.customer .beta-test .micro.customer-label{display:block;font:600 11px/1.45 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#1f1d1b}@media(max-width:800px){.cat-panel.customer .beta-test .micro.customer-label{font-size:10px;letter-spacing:.14em}}
